我是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。感谢
答案 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);