Heim  >  Artikel  >  Java  >  Wie verhindert man „java.util.NoSuchElementException' bei Verwendung von Scanner.nextInt()?

Wie verhindert man „java.util.NoSuchElementException' bei Verwendung von Scanner.nextInt()?

DDD
DDDOriginal
2024-11-10 22:12:02190Durchsuche

How to Prevent

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!

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