Endlosschleife nach InputMismatchException

Ramy83

Neues Mitglied
Hi, hab folgendes Problem, ich möchte meine Eingabe daraufhin überprüfen, ob es eine Zahl ist und wenn nicht, soll diese durch InputMismatchException abgefangen werden. Dabei kommt mein Programm aber in eine Endlosschleife und ich hab keine Ahnung wieso. Hier der wichtige Teil des Programms:

Java:
import java.util.Scanner;

	private Scanner in = new Scanner(System.in);

        public void programm() {
		int x=-1;
		while (x<0) {
			System.out.print("Koordinate x= ");
			x=eingabe();
		}
        }

	public int eingabe(){
		int x=-1;
		try{
			x=in.nextInt();
			return x;
		}catch(java.util.InputMismatchException e){
			System.err.println("Keine korrekte Zahl");
			return -1;
		}
	}
 
Du musst den fehlerhaften Input noch auslesen, sonst bleibt der im InputStream. Schreib vor die return -1; einfach nen
Code:
in.next();
 

Neue Themen


Zurück
Oben