使用nextDouble扫描double

时间:2013-09-22 13:46:54

标签: 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(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

我怎么解决这个问题?

1 个答案:

答案 0 :(得分:1)

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

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

我希望这会有所帮助。