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%Einfach Exception werfen, wenn die Eingabe ungültig ist
%Vor%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.
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%Tags und Links java validation