[RESOLVIDO] Problema de input (classe Scanner)

Olá! Desenvolvi um pequeno jogo da forca em console, estou com um problema no método que chama o loop do jogo e retorna para o menu principal. Quando ele volta e eu tento ler novamente ele me dá um NoSuchFileException. Só consigo resolver se passar o meu objeto Scanner para os métodos de loop do game. Os métodos chamados no menu principal usam um novo Scanner(System.in) e o método close() no final.

class Game {
public static void run(){
Scanner keyboard = new Scanner(System.in);
boolean done = false;

	while(!done){
		System.out.println("\n1 Novo jogo (1 jogador)\n2 Novo jogo (2 jogadores)\n3 Lista de palavras/frases\n4 Sair\n");
			
		switch(stringToInt(keyboard.nextLine())){
			case 1:
				newGame(1);
				break;
			case 2:
				newGame(2);
				break;
			case 3:
				wordsList(keyboard);
				break;
			case 4:
				done = !done;
				break;
			default:
				break;
		}
	}
	keyboard.close();
}

Obrigado pela atenção! (A classe está incompleta).

Experimenta tirar o Scanner de dentro do run e colocá-lo direto no corpo de Game.

É verdade, defini-la como uma variável global ao invés de passar como argumento. Valeu!

1 curtida