Scannerfehler mit nextInt () [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Wie verwende ich java.util.Scanner, um Benutzereingaben von System.in korrekt zu lesen und darauf zu reagieren? 1 Antwort

Ich versuche, mit dem Scanner einen Int von der Tastatur abzurufen, erhalte jedoch die folgende Fehlermeldung:

Exception in thread "main" 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)
    at TableReader.mainMenu(TableReader.java:122)
    at TableReader.main(TableReader.java:76)

Das habe ich. Es ist unabhängig vom Rest meines Programms, ich verstehe nicht, warum das nicht funktioniert. Es wird in einer Methode deklariert, die in einer while-Schleife aufgerufen wird, wenn das hilft.

    // scan for selection
    Scanner s = new Scanner(System.in);
    int choice = s.nextInt();           // error occurs at this line
    s.close();

Ich bin mit dem Debugger durchgegangen und habe den Fehler auf Folgendes eingegrenzt:

In der Java-Laufzeitumgebung wurde ein schwerwiegender Fehler festgestellt: SIGSEGV (0xb) bei pc = 0xb6bdc8a8, pid = 5587, tid = 1828186944

JRE-Version: 7.0_07-b30 Java-VM: OpenJDK Server-VM (23.2-b09 Linux-x86 im gemischten Modus) Problematischer Frame: V [libjvm.so + 0x4258a8] java_lang_String :: utf8_length (oopDesc ​​*) + 0x58

Fehler beim Schreiben des Speicherauszugs. Core Dumps wurden deaktiviert. Um das Core-Dumping zu aktivieren, versuchen Sie "ulimit -c unlimited", bevor Sie Java erneut starten

Antworten auf die Frage(1)

Ihre Antwort auf die Frage