Java 爪哇元';不接受双变量的十进制数
我有这些非常简单的3行代码,据我所知,应该允许用户输入一个十进制数字,然后把数字吐出来Java 爪哇元';不接受双变量的十进制数,java,double,Java,Double,我有这些非常简单的3行代码,据我所知,应该允许用户输入一个十进制数字,然后把数字吐出来 System.out.print("Enter a number.\n"); double number = input.nextDouble(); System.out.println(number); 然而,当我输入一个十进制数时,Java抛出一个InputMismatchException;虽然当我输入en整数时,它吐出的数字显示一个小数位。这是如此简单,我甚至不能谷歌它,但我完全失去了
System.out.print("Enter a number.\n");
double number = input.nextDouble();
System.out.println(number);
然而,当我输入一个十进制数时,Java抛出一个InputMismatchException;虽然当我输入en整数时,它吐出的数字显示一个小数位。这是如此简单,我甚至不能谷歌它,但我完全失去了
编辑等等什么?我刚试过,它实际上接受“2,4”,但不接受“2.4”。这能改变吗 不知道您的“输入”元素是什么,我只能推测您可能在这里有语言环境问题?例如,输入'2,4'而不是'2.4'?不知道您的'input'元素是什么,我只能推测您可能在这里有语言环境问题?例如,输入“2,4”而不是“2.4”?您需要更改区域设置(我假设您使用的是扫描仪):
您需要更改区域设置(我假设您使用的是扫描仪):
你用一千个分隔符吗?你用什么字符来表示小数?您可能需要更改区域设置。请尝试
1.0
和1,0
…谷歌搜索给了我此链接。请检查这是否是您想要的。。你用一千个分隔符吗?你用什么字符来表示小数?您可能需要更改区域设置。请尝试1.0
和1,0
…谷歌搜索给了我此链接。请检查这是否是您想要的。。Java默认使用OS设置,除非您指定其他设置。您可以使用Locale.setDefault(…)
在应用程序级别执行此操作,也可以像在我的回答中那样在本地执行此操作。要在Windows上更改操作系统设置,我认为应该在区域设置中。Java默认使用您的操作系统设置,除非您指定其他设置。您可以使用Locale.setDefault(…)
在应用程序级别执行此操作,也可以像在我的回答中那样在本地执行此操作。要更改操作系统设置,在Windows上,我想应该是在区域设置中。
scanner.useLocale(Locale.US);