Heim  >  Artikel  >  Java  >  Wie vermeide ich NoSuchElementException bei Verwendung von Scanner.nextInt()?

Wie vermeide ich NoSuchElementException bei Verwendung von Scanner.nextInt()?

DDD
DDDOriginal
2024-11-15 15:07:02325Durchsuche

How to Avoid NoSuchElementException When Using Scanner.nextInt()?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn