Schließen Sie einen Scanner throws java.util.NoSuchElementException
Schreibe ich ein RPG-Kampfsystem von Grund auf in Java, ehrgeizig Recht? Gut, ich habe einige Schwierigkeiten. Das ist mein code:
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();
}
Wenn es Sie trifft, dass der Punkt in dem code, den ich bekommen:
Was werden Sie tun? Sagen (Kampf) (Laufen) (Use Item)
Exception in thread "main" java.util.NoSuchElementException: No line found
bei java.util.Scanner.nextLine - (Unknown Source)
in Kampf.turnChoice(Bekämpfen.java:23)
Der Klasse aufgerufen Bekämpfen, ich will nur Sie, um eine option zu kämpfen oder laufen oder Elemente verwenden, ich versuche nur den Kampf-Methode zuerst. Bitte um Hilfe, ich bin Art von neuen Java-machen Sie also nicht die Dinge zu kompliziert werden, wenn möglich.
- haben u getan
import java.util.Scanner;
? - Was ist Combat.java Zeile 23?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie Lesen mit
Scanner
ausSystem.in
Sie sollten nicht schließen Sie alleScanner
Instanzen, weil die Schließung wird in der NäheSystem.in
und wenn Sie führen die folgenden,NoSuchElementException
geworfen werden.System.in
geschlossen ist, durch die JVM, und Sie sollten nicht schließen Sie es. Mach dir keine sorgen. Scanner sind nur Puffer Leser.