2016-05-14 2 views
0

Wie vermeidet man einen Laufzeitfehler, wenn eine Zeichenfolge in eine .nextInt(); eingegeben wird? Ich versuche, Benutzereingaben zu machen. Nehmen wir an, sie würden versehentlich einen Buchstaben eingeben, wo eine Nummer benötigt wird, es wird nur ein Laufzeitfehler angezeigt. Wie schaffe ich es so mehr Eingaben zu machen bis eine Nummer eingegeben wird?Wie vermeidet man einen Laufzeitfehler, wenn eine Zeichenfolge in eine .nextInt() eingegeben wird?

Scanner userInput = new Scanner(System.in); 

int num1; 
System.out.println("Please enter an interger number:); 
num1 = userInput.nextInt(); 

Wenn die Box für den Benutzer erscheint, um einen Interger einzugeben, geben sie eine Zeichenfolge ein und erhalten einen Laufzeitfehler. Wie vermeide ich diesen Fehler?

Eine Eingabe, die diesen Fehler erzeugen würde, wäre ein beliebiger Buchstabe.

Ich benutze DrJava auf Eclipse.

+0

Es gibt nicht genug Informationen hier. Welche Programmiersprache verwenden Sie? Können Sie etwas von Ihrem tatsächlichen Code veröffentlichen? Werfen Sie einen Blick auf [Erstellen eines minimalen, vollständigen und überprüfbaren Beispiels] (http://stackoverflow.com/help/mcve) für einige Zeiger. – BM5k

+0

@ BM5k oben ist das genug ?? lassen Sie mich wissen, erste Mal mit Stack-Überlauf Sorry für falsche Frage Format? – kiwiOceAn

+0

kein Problem, es kann eine Weile dauern, bis Sie sich an die Buchungsregeln und Richtlinien gewöhnt haben :) Ihre Frage wird besser, aber fügen Sie bitte auch ein Beispiel für eine Eingabe hinzu, die den Fehler mit der gesamten Fehlermeldung verursacht. Das wird anderen Menschen helfen, UND Ihre Fragen zu beantworten. – BM5k

Antwort

0

Verwenden Sie die hasNextInt() -Methode, so etwas wie

if (userInput.hasNextInt()){ //do Something.. } 

Oder jede Eingabe als String nehmen, dann analysieren, die als Integer, und einen Versuch fangen tun Fehler zu finden.

Verwandte Themen