Hallo!
Hier erstmal der Code:
Also diese Methode fragt eine Zahl ab, die der Benutzer eingeben und die zwischen 0 und 36 liegen soll. Wenn die Eingabe nicht innerhalb des Definitionsbereichs liegt soll die Eingabe wiederholt werden.
Doch wenn ich Buchstaben eingebe springt die Eingabe nicht zurück sondern verlässt die Schleife und fährt fort....
Das Komsiche ist, dass ich diese Kontrollstrukur schon einmal für eine char-Eingabe verwendet habe und da funktioniert sie ohne Probleme. Sieht so aus:
Bin für Vorschläge dankbar.
Nachtrag: Ok... also der zweite Code ist auch nicht so ganz richtig... die Kontrollstruktur wiederholt zwar, wenn man Zahlen eingibt doch z.B. bei der Eingabe "agh" wird so getan als sei nur der Char "a" eingeben worde... doch eigentlich soll auch dann die Eingabe wiederholt werden.
Hier erstmal der Code:
Java:
public static int bestimmeZahl(){ //Zahl von 0 bis 36 eingeben---------------------------------------M
int zahl;
do{
System.out.println("Bitte Zahl von 0 bis 36 eingeben.");
zahl=In.readInt();
if (zahl>=0 && zahl<37){
break;
}else{
System.out.println("Keine gültige Eingabe.\n");
}
} while (true);
return zahl;
}
Also diese Methode fragt eine Zahl ab, die der Benutzer eingeben und die zwischen 0 und 36 liegen soll. Wenn die Eingabe nicht innerhalb des Definitionsbereichs liegt soll die Eingabe wiederholt werden.
Doch wenn ich Buchstaben eingebe springt die Eingabe nicht zurück sondern verlässt die Schleife und fährt fort....
Das Komsiche ist, dass ich diese Kontrollstrukur schon einmal für eine char-Eingabe verwendet habe und da funktioniert sie ohne Probleme. Sieht so aus:
Java:
do { //richtiger Buchstabe eingegeben?
antwort = In.readChar();
if (antwort == 'a' | antwort == 'b' | antwort == 'c' | antwort == 'd' | antwort == 'e' | antwort == 'v'){
break;
}else{
System.out.println("Eingabe unzulässig.");
}
} while(true);
Bin für Vorschläge dankbar.
Nachtrag: Ok... also der zweite Code ist auch nicht so ganz richtig... die Kontrollstruktur wiederholt zwar, wenn man Zahlen eingibt doch z.B. bei der Eingabe "agh" wird so getan als sei nur der Char "a" eingeben worde... doch eigentlich soll auch dann die Eingabe wiederholt werden.
Zuletzt bearbeitet: