So prüfen Sie, ob Benutzereingaben kein int-Wert sind

8

Ich muss prüfen, ob ein Benutzereingabewert kein int-Wert ist. Ich habe verschiedene Kombinationen aus dem, was ich weiß, ausprobiert, aber ich bekomme entweder nichts oder zufällige Fehler

Zum Beispiel:

Wenn der Benutzer "adfadf 1324" eingibt, wird eine Warnmeldung angezeigt.

Was ich habe:

%Vor%     
jjkk0990 08.08.2013, 06:23
quelle

7 Antworten

13

Einfach Exception werfen, wenn die Eingabe ungültig ist

%Vor%     
Pandiyan Cool 08.08.2013, 06:27
quelle
6
%Vor%     
Rajendra_Prasad 08.08.2013 06:39
quelle
2

Sie haben folgende Fehler, die wiederum diese Ausnahme verursachen, lassen Sie es mich erklären

Dies ist Ihr bestehender Code:

%Vor%

im obigen Code if(!scan.hasNextInt()) wird nur dann true , wenn Benutzereingaben sowohl Zeichen als auch Ganzzahlen wie Ihre Eingabe adfd 123 enthalten.

Sie versuchen jedoch nur ganze Zahlen in der if-Bedingung mit usrInput= sc.nextInt(); zu lesen. Was ist falsch, das ist, was Exception in thread "main" java.util.InputMismatchException wirft.

so richtiger Code sollte

sein %Vor%

im obigen Code sc.next() wird helfen, neue Eingaben von Benutzern zu lesen, und continue wird dazu beitragen, dieselbe if-Bedingung ( i.e if(!scan.hasNextInt()) ) erneut auszuführen.

Bitte benutzen Sie den Code in meiner ersten Antwort, um Ihre komplette Logik zu erstellen. Sagen Sie mir, wenn Sie eine Erklärung brauchen.

    
Rajendra_Prasad 08.08.2013 07:32
quelle
2

probiere diesen Code [aktualisiert] :

%Vor%     
Rajendra_Prasad 08.08.2013 11:59
quelle
0

Entnommen aus einem zugehörigen Post :

%Vor%     
ElliotSchmelliot 08.08.2013 06:32
quelle
0

Vielleicht können Sie das versuchen:

%Vor%     
shady 26.03.2015 07:23
quelle
0

Dies ist, um Eingaben anzufordern, während diese Eingabe eine Ganzzahl ist und herauszufinden, ob sie ungerade oder gerade ist, andernfalls wird sie enden.

%Vor%     
Salah Assaf 11.11.2015 09:01
quelle

Tags und Links