Java 用nextDouble扫描double
我正在学习Java,当我尝试输入双浮点数时遇到了一些问题 像这样Java 用nextDouble扫描double,java,double,Java,Double,我正在学习Java,当我尝试输入双浮点数时遇到了一些问题 像这样 import java.util.Scanner; class Program { public static void main (String[] args) { Scanner inp = new Scanner(System.in); double number = inp.nextDouble(); System.out.println(num
import java.util.Scanner;
class Program {
public static void main (String[] args) {
Scanner inp = new Scanner(System.in);
double number = inp.nextDouble();
System.out.println(number);
}
}
如果我输入1000,我的输出将是1000.0。但如果输入1000.0,则会出现以下错误:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextDouble(Scanner.java:2456)
at test.Test.main(Test.java:6)
Java Result: 1
我如何解决这个问题呢?这可能是由于1000.0和1000,0之间的语言环境差异造成的。。。所以你可以试试这个:
Scanner inp = new Scanner(System.in);
inp.useLocale(Locale.ENGLISH);
我希望这能有所帮助。如果您输入
1000,0
?@marounnaroun我想这取决于您所在的国家。我在意大利,十进制数字是用逗号而不是点写的,所以如果我输入1000.0
我会得到一个InputMismatchException
,如果我输入1000,0
一切正常。哇。。我不知道,谢谢我的朋友。是的,我还听说在法国,,在数字中充当
,@反斜杠你用哪个语言环境检查它?@sansix我用默认的语言环境检查,那就是语言环境。意大利
对于meScanner来说没有这样的方法,它是使用语言环境
,但有一个问题。找不到symbol:symbol:variable Locale location:class Program-->alvardon您必须导入java.util.Locale
,现在它可以工作了。谢谢大家!@谢谢你指出我的打字错误。阿尔瓦登-很高兴它能工作!