Scanner-Fehler mit nextInt()
Die Scanner-Klasse ist ein praktisches Tool zum Lesen von Eingaben von einer Konsole, kann jedoch Fehler wie z NoSuchElementException, wenn Sie versuchen, einen Typ zu lesen, der nicht im Eingabestream vorhanden ist.
Im bereitgestellten Code:
Scanner s = new Scanner(System.in); int choice = s.nextInt();
Die nextInt()-Methode versucht, eine Ganzzahl aus dem zu lesen Standardeingabestream, aber wenn keine Ganzzahl verfügbar ist, wird die NoSuchElementException ausgelöst. Um diesen Fehler zu vermeiden, überprüfen Sie immer mit der Methode hasNextInt(), ob eine Ganzzahl zum Lesen vorhanden ist:
Scanner s = new Scanner(System.in); while(s.hasNextInt()) { int choice = s.nextInt(); // Process the input } s.close();
Dieser Code wird in einer Schleife ausgeführt, bis keine Ganzzahlen mehr zum Lesen vorhanden sind, wodurch das Risiko einer NoSuchElementException eliminiert wird. Verwenden Sie außerdem die Methode hasNextInt(), um den Eintritt in eine Endlosschleife zu verhindern, wenn keine Ganzzahlen zum Lesen vorhanden sind.
Das obige ist der detaillierte Inhalt vonWie vermeide ich NoSuchElementException bei Verwendung von Scanner.nextInt()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!