不能在java中输入浮点数

时间:2015-01-17 17:10:58

标签: java

我是java新手。我使用Eclipes java编辑器。当我想将用户输入作为浮点数或双数字时,它会给出错误

输入您的电话号码: 3.1414

线程中的异常" main" java.util.InputMismatchException

at java.util.Scanner.throwFor(Unknown Source)

at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextDouble(Unknown Source)
at myaaa.SubClass1.azizul(SubClass1.java:11)
at myaaa.NewLife.main(NewLife.java:8)
我应该怎么做。请帮助。我正在使用Windows 8.1。感谢

3 个答案:

答案 0 :(得分:2)

尝试使用逗号,您的输入必须根据语言环境设置成功转换为float或double

答案 1 :(得分:2)

您可以通过

确保将句点(。)作为小数分隔符接受
Scanner scanner = new Scanner( System.in );
scanner.useLocale( Locale.US );
double d = scanner.nextDouble();
System.out.println( d < 10);

现在,3.1414被接受为小于10的数字,3,123被接受为大于三千的数字。

答案 2 :(得分:0)

您可以使用此代码,这样可以更好地获得您需要的代码,直到它有效

Scanner scan = new Scanner(System.in);
boolean isDataValid = false;

do {
    System.out.println("Enter a float number: ");
    try {
        float yourNumber = Float.parseFloat(scan.next()); 
        isDataValid = true;
    }
    catch (NumberFormatException e){
        System.out.println ("The entered number is not a float, try again:");
        isDataValid = false;
    }           
}while (!isDataValid);