Ich bin neu in Java, und ich arbeite an einer Methode in meinem Programm, die überprüft, die Benutzereingabe in Grenzen zu sein, nicht ein Nullwert (Null), kein Buchstabe und eine positive Zahl. Also habe ich ursprünglich zwei while-Schleifen in diese Methode eingebaut, um die Gültigkeit dieser Eingaben zu überprüfen, aber ich würde es gerne in einer Schleife vereinfachen. Ich bekomme einen Fehler, wenn ich einen Buchstaben (zB a) nach ein paar Eingaben eintrage, und ich glaube, dass es aufgrund der zwei verschiedenen while-Schleifen komplizierter ist. Kann mir bitte jemand dabei helfen?Wie vereinfache ich diese Integer-Validierung?
public static void valid(String s, int max)
{
while(sc.hasNextInt() == false) {
System.out.println("That is not correct. Try again:");
sc.nextLine();
}
int value;
while((value= sc.nextInt()) > max || (value= sc.nextInt()) <= 0){
System.out.println("That is not correct. Try again: ");
sc.nextLine();
}
sc.nextLine();
return;
}
Welcher Fehler? Erhalten Sie * "Das ist nicht korrekt. Versuchen Sie es erneut:" * oder eine Ausnahme? – Gendarme
Wenn Sie 'nextInt' verwenden, können Sie niemals einen Brief einlesen. –
müssen Sie auch '==' in Ihrer zweiten while-Schleife verwenden. (Wert = sc.nextInt()) ist nicht dasselbe wie (Wert == sc.nextInt()). –