2017-04-26 3 views
0

Neu im Forum. Versuchte Suche, konnte aber nichts finden, was half. Ich habe diesen Code auf einer anderen IDE mit Java 1.7 ohne Problem ausgeführt. Ich benutze nun Eclipse und aktualisiere Java auf 1.8 und bekomme den Fehler: java.util.NoSuchElementException bezüglich der Zeile "response = input.nextLine();". Seltsame Sache ist, dass ich eine andere Funktion habe, die eine Zeichenkette zurückgibt und mit der genau gleichen Schleife kodiert wird (do/while mit einer Musterüberprüfung) und es scheint, gut zu arbeiten.java while loop mit Konsoleneingabe

static boolean search_again() { 
    String response; 
    //Scanner input = new Scanner(System.in); 
    do { 
     System.out.println("Would you like to search another site? "); 
     Scanner input = new Scanner(System.in); 
     response = input.nextLine(); 
     input.reset();    
    } 
    while(!response.toUpperCase().matches("Y|YE|YES") && !response.toUpperCase().matches("N|NO")); 
    if (response.matches("[nN[oO]?]")) { 
     System.out.println("Goodbye"); 
     return false; 
    } 
    else { 
     System.out.println("OK - search again!"); 
     return true; 
    } 
} 
+0

Versuchen Sie dies [http://stackoverflow.com/questions/36723447/java-util-scanner-throws-nosuchelementexception-when-application-is-started -with) –

+0

Hey Kumpel gerade lief Ihren Code und es funktioniert gut für mich überprüfen Sie die Hauptmethode und wie Ihre Referenzierung search_again() – HelloWorld

+0

Vielen Dank! Ich habe einige Tests durchgeführt und festgestellt: http://StackOverflow.com/Questions/13042008/Java-Util-Nosuchelementexception-scanner-reading-user-in-put – Squanchy

Antwort

0

Sieht so aus, als könnten Sie einen Scanner mit demselben Eingang nicht erneut initiieren. Ich habe den Scanner global gemacht und es scheint wieder zu funktionieren