Scanners nextInt()-Missgeschick: Die NoSuchElementException verstehen
Beim Versuch, eine Ganzzahl mithilfe der nextInt()-Methode des Scanners abzurufen, kann es zu einem Fehler kommen Gefürchteter Fehler: NoSuchElementException. Dies tritt auf, wenn keine ganzen Zahlen mehr zum Abruf aus dem Eingabestream verfügbar sind.
Um den Übeltäter zu ermitteln, untersuchen wir das Code-Snippet:
Scanner s = new Scanner(System.in); int choice = s.nextInt(); // Error occurs here s.close();
Die nextInt()-Methode geht davon aus, dass ein Ganzzahl wartet darauf, gelesen zu werden, aber in unserem Fall ist möglicherweise keine vorhanden. Um diesen Fehler zu verhindern, können wir die von Scanner bereitgestellten hasNextXXXX()-Methoden nutzen. Diese Methoden überprüfen die Verfügbarkeit des entsprechenden Datentyps und stellen sicher, dass die Eingabe zum Abruf bereit ist.
In diesem speziellen Szenario können wir das Problem beheben, indem wir hasNextInt():
Scanner s = new Scanner(System.in); int choice = 0; if (s.hasNextInt()) { choice = s.nextInt(); } s.close();
Das obige ist der detaillierte Inhalt vonWarum erhalte ich eine NoSuchElementException, wenn ich nextInt() des Scanners verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!