Hallo Forum,
Ich habe folgendes Problem: ich muss ein Programm bei den Eingaben auf Exceptions überprüfen und ggf. verhindern.
in Codeausschnitt aus meinem Programm:
Es geht hierbei um einen Rechentrainer welcher mit der größten Zahl Aufgaben stellt.
Das Problem daran ist, dass wenn ich beispielsweise einen Buchstaben statt eines Integers eingebe, dann läuft dauernd die virtuelle Java Maschine mit der Meldung"Ungültige Eingabe, versuchen Sie es bitte erneut" und das hört erst auf, wenn ich die Maschine zurücksetze.
Ich möchte erreichen, dass wenn z.B. ein Buchstabe eingegeben wird, nach der Mldung "Ungültige Eingabe, versuchen Sie es bitte erneut" der Prozess nochmals von dem Try Block beginnt, also dass wieder eine Zahl eingelesen wird.
Warum ist das in meinem Codebeispiel nicht möglich ?
Danke und MfG Stefan
Ich habe folgendes Problem: ich muss ein Programm bei den Eingaben auf Exceptions überprüfen und ggf. verhindern.
in Codeausschnitt aus meinem Programm:
Code:
Scanner scan = new Scanner(System.in);
int hoechsteZahl=0;
System.out.println("Bitte geben Sie eine maximale Zahl ein, bis zu der Zufallszahlen für die Rechnung generiert werden sollen.");
while(true){
try{int maxzahl = scan.nextInt();
hoechsteZahl=maxzahl;
break;}
catch(Exception maxzahl){System.err.println("Ungültige Eingabe, versuchen Sie es bitte erneut");
continue;}
}
Es geht hierbei um einen Rechentrainer welcher mit der größten Zahl Aufgaben stellt.
Das Problem daran ist, dass wenn ich beispielsweise einen Buchstaben statt eines Integers eingebe, dann läuft dauernd die virtuelle Java Maschine mit der Meldung"Ungültige Eingabe, versuchen Sie es bitte erneut" und das hört erst auf, wenn ich die Maschine zurücksetze.
Ich möchte erreichen, dass wenn z.B. ein Buchstabe eingegeben wird, nach der Mldung "Ungültige Eingabe, versuchen Sie es bitte erneut" der Prozess nochmals von dem Try Block beginnt, also dass wieder eine Zahl eingelesen wird.
Warum ist das in meinem Codebeispiel nicht möglich ?
Danke und MfG Stefan