Al cerrar un escáner se lanza java.util.NoSuchElementException

Estoy escribiendo un sistema de combate RPG desde cero en Java, ambicioso ¿verdad? Bueno, estoy teniendo algunos problemas. Este es mi código:

void turnChoice() { System.out.println("What will you do? Say (Fight) (Run) (Use Item)"); Scanner turnChoice = new Scanner(System.in); switch (turnChoice.nextLine()) { case ("Fight"): Combat fighting = new Combat(); fighting.fight(); default: } turnChoice.close(); } 

Cuando llega a ese punto en el código que obtengo:

¿Qué harás? Di (Pelea) (Correr) (Usar ítem)
Excepción en el hilo “main” java.util.NoSuchElementException: no se encontró ninguna línea
en java.util.Scanner.nextLine (fuente desconocida)
en Combat.turnChoice (Combat.java:23)

La clase se llama Combat, solo quiero que brinde una opción para pelear, correr o usar objetos, primero estoy probando el método de lucha. Por favor, ayuda, soy algo nuevo en Java, así que no hagas las cosas demasiado complicadas si es posible.

Cuando está leyendo usando Scanner desde System.in , no debe cerrar ninguna instancia de Scanner porque cerrar una cerrará System.in y cuando haga lo siguiente, se NoSuchElementException .

 Scanner sc1 = new Scanner(System.in); String str = sc1.nextLine(); ... sc1.close(); ... ... Scanner sc2 = new Scanner(System.in); String newStr = sc2.nextLine(); // Exception!