第一次显示菜单(),我可以输入输入,runGame()可以正常工作。第二次显示菜单时,程序正在使用java.util.NoSuchElementException崩溃到行回答= scanner.nextInt()。似乎没有'nextInt'可以读入,但我没有机会第二次进入它。
public void runGame(){
int userPick = 0;
userPick = menu();
while (userPick != 10){ //user exists with a choice of 10
switch (userPick){
case 1:
System.out.println("User picked 1");
break;
case 2:
...
default:
...
}
userPick = menu();
}
public int menu(){
Scanner scanner = new Scanner(System.in);
System.out.println("Please choose an integer from 0 - 10(quit)");
int answer = scanner.nextInt();
scanner.close();
return answer;
}
答案 0 :(得分:1)
Per,Scanner throws NoSuchElementException on nextInt
当你调用scanner.close()时,它会关闭你的底层流,即System.in;一旦你关闭System.in,唯一的方法是重新启动它。
删除关闭会解决问题。