提问人:KATCHAW 提问时间:10/18/2022 更新时间:10/18/2022 访问量:38
线程“main”java.util.InputMismatchException 中出现异常,当我键入十进制数 [duplicate] 时
Exception in thread "main" java.util.InputMismatchException when I type a decimal number [duplicate]
问:
我不明白这里有什么问题:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cl = new Scanner(System.in);
double a = cl.nextDouble();
System.out.print(a);
}
}
每当我键入 x.x 时,我都会收到此错误:
Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextDouble(Scanner.java:2564)
at Main.main(Main.java:5)
答:
0赞
rzwitserloot
10/18/2022
#1
扫描程序默认为系统区域设置。您的系统区域设置设置为荷兰语,或其他使用逗号作为小数分隔符的区域设置。您有 2 个选择:
- 改为键入。
5,5
- 制作后立即根据自己的喜好进行配置。THat 涉及调用,可能还涉及(这意味着:用户应该在每次输入后按回车键。与几乎无用的“任意数量的空格”默认分隔符相比)。
new Scanner
cl.useLocale(Locale.ENGLISH);
cl.useDelimiter("\\R")
评论
0赞
KATCHAW
10/18/2022
非常感谢,您也知道我可以在哪里更改系统区域设置吗?
0赞
rzwitserloot
10/18/2022
在您的 Windows、Linux 或 mac 系统设置中。
上一个:传递了错误的参数值
评论
x
+
-
.