Ter*_* Li 3 java exception input type-mismatch
String[] names=new String[4];
int[] scores=new int[4];
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter 4 strings and integers:");
for(int i=0;i<4;i++){
names[i]=keyboard.nextLine();
scores[i]= keyboard.nextInt();
}
Run Code Online (Sandbox Code Playgroud)
上面是我的简单程序,下面显示了弹出的异常.
Enter 4 strings and integers:
first
1
second
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.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at Q2.main(Q2.java:15)
Java Result: 1
Run Code Online (Sandbox Code Playgroud)
Mat*_*Mat 10
nextInt不会吞下留在缓冲区中的行尾.所以当你点击时1enter,1读入第一个score,然后第二个name被设置为空字符串.
然后解析器尝试解释second为int,引发异常.
你需要在之后丢弃当前行readInt.
| 归档时间: |
|
| 查看次数: |
755 次 |
| 最近记录: |