Fehlerbehandlung für nextInt() im Scanner
Beim Versuch, eine Ganzzahl mit Scanner.nextInt() abzurufen, tritt bei Benutzern gelegentlich der Fehler auf :
java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:907) at java.util.Scanner.next(Scanner.java:1530) at java.util.Scanner.nextInt(Scanner.java:2160) at java.util.Scanner.nextInt(Scanner.java:2119)
Dieser Fehler tritt auf, wenn der Eingabestream keine Ganzzahl zum Lesen von nextInt() enthält. Eine Methode zur Lösung dieses Problems ist die Verwendung von hasNexInt(). Diese Funktion überprüft das Vorhandensein einer Ganzzahl, bevor sie versucht, sie zu lesen.
Scanner s = new Scanner(System.in); int choice = 0; if(s.hasNextInt()) { choice = s.nextInt(); } s.close();
Diese Änderung stellt sicher, dass nextInt() nur aufgerufen wird, wenn eine Ganzzahl zum Lesen verfügbar ist, wodurch der Fehler verhindert wird. Darüber hinaus empfiehlt es sich, den Scanner zu schließen, wenn er fertig ist, um Systemressourcen freizugeben.
Das obige ist der detaillierte Inhalt vonWie verhindert man „java.util.NoSuchElementException' bei Verwendung von Scanner.nextInt()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!