Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 点正在返回我不匹配的异常,即使是我';我使用Locale.US_Java_Mismatch - Fatal编程技术网

Java 点正在返回我不匹配的异常,即使是我';我使用Locale.US

Java 点正在返回我不匹配的异常,即使是我';我使用Locale.US,java,mismatch,Java,Mismatch,在我尝试在next.Double()上用点输入数字后,我的程序返回不匹配异常。我正在使用Locale.US Scanner sc = new Scanner(System.in); Locale.setDefault(Locale.US); double nota1, nota2, resultado; nota1 = sc.nextDouble(); nota2 = sc.nextDouble(); resultado = nota1 + nota2; if (resultado &l

在我尝试在next.Double()上用点输入数字后,我的程序返回不匹配异常。我正在使用Locale.US

Scanner sc = new Scanner(System.in);
Locale.setDefault(Locale.US);

double nota1, nota2, resultado;

nota1 = sc.nextDouble();
nota2 = sc.nextDouble();

resultado = nota1 + nota2;

if (resultado < 60.0) {
    System.out.println("NOTA FINAL = " + resultado);
    System.out.println("REPROVADO");
}
else {
    System.out.println("NOTA FINAL = " + resultado);
}

sc.close();
Scanner sc=新扫描仪(System.in);
setDefault(Locale.US);
双nota1,nota2,resultado;
nota1=sc.nextDouble();
nota2=sc.nextDouble();
resultado=nota1+nota2;
如果(结果小于60.0){
System.out.println(“NOTA FINAL=“+resultado”);
System.out.println(“REPROVADO”);
}
否则{
System.out.println(“NOTA FINAL=“+resultado”);
}
sc.close();
尝试在第19行输入“45.5”后,我收到异常错误消息(
nota1=sc.nextDouble();

错误消息:

线程“main”java.util.InputMismatchException中出现异常
位于java.util.Scanner.throwFor(Scanner.java:864)
在java.util.Scanner.next(Scanner.java:1485)
在java.util.Scanner.nextDouble(Scanner.java:2413)
位于application.Program.main(Program.java:19)


您只需将第一行的顺序更改为

Locale.setDefault(Locale.US);
Scanner sc = new Scanner(System.in);
在创建扫描仪之前,首先设置系统默认区域设置。 创建新扫描仪时,它将获取并使用在创建时设置的默认区域设置,因此必须在扫描仪初始化之前设置默认区域设置

或者,您也可以使用:

Scanner scanner = new Scanner(System.in).useLocale(Locale.US);

在不修改默认区域设置的情况下,直接在扫描仪上设置要使用的区域设置。

只需移动行
locale.setDefault(locale.US)在您创建扫描仪之前,它应该可以工作。@luk2302,上帝蜘蛛的建议可以工作。我所要做的就是将区域设置行移到扫描行之前。许多的thanks@OHGODSPIDERS,非常感谢,它成功了!!我如何结束/完成这个问题?@ohgodspider应该将解决方案作为答案发布;那么你应该接受这个回答。