为什么 Java 在使用 Scanner.nextFloat() 而不是 Scanner.nextInt() 时会抛出错误?
package myshit;
import java.lang.Math;
import java.util.Scanner;
public class speed2 {
public static Scanner keyboard = new Scanner(System.in);
public static void main(String[] args){
float number = keyboard.nextFloat();
System.out.print("Start");
}
}
输入:
2.5
输出:
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextFloat(Unknown Source)
at myshit.speed2.main(speed2.java:10)
但只需将 nextFloat 切换为 nextInt 就不会发生错误:
package myshit;
import java.lang.Math;
import java.util.Scanner;
public class speed2 {
public static Scanner keyboard = new Scanner(System.in);
public static void main(String[] args){
int number = keyboard.nextInt();
System.out.print("Start");
}
}
输入:
3
输出:
Start
我究竟做错了什么?
看来我需要输入,而不是。似乎是因为 Eclipse