0

我正在学习 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(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

我怎么能解决这个问题?

4

1 回答 1

1

这可能是由于 1000.0 和 1000,0 之间的区域设置差异......所以你可以试试这个:

Scanner inp = new Scanner(System.in);
inp.useLocale(Locale.ENGLISH);

我希望这有帮助。

于 2013-09-22T13:53:16.600 回答