System.out.println("Enter guest surName");
String roomName = input.next();
int num = input.nextInt();
例如,当我输入“Michael Jackson的”我得到这个误差的nextInt()方法。如果用户输入用于扫描仪的next()两个单词,第二个字被转移到随后引起InputMismatchException时
Enter guest surName
Michael Jackson
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.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at test4.Demo.main(Demo.java:13)
我知道错误是由于第二个字传递给nextInt()方法而引起的。但我不知道如何解决它。
由于程序其余部分的性质,我无法使用nextLine()。
为什么你不能使用下一行?它在你显示的代码片段中没有什么不同,只是你不会再遇到输入错误。 – matt