В первый раз отображается меню(), я могу вводить ввод и работать runGame(). Во второй раз, когда отображается меню, программа сбой на строке int answer = scanner.nextInt() с java.util.NoSuchElementException. Кажется, что нет «nextInt» для чтения, но у меня нет возможности войти в него во второй раз.Scanner throwing NoSuchElementException во второй раз .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;
}
Почему вы открываете и закрываете «Сканер» внутри цикла? Разве это не кажется излишним? –
Вот как мы научились использовать Scanners @DebosmitRay. Есть ли способ лучше? –