Warum wird Methode nicht durch return-Befehl beendet?

eracer_10

Mitglied
Hi Leute,

wie ihr aus der Frage schon entnehmen könnt, geht es darum, dass ich eine if-Abfrage mache und wenn die Bedingung dafür erfüllt ist, sollte die Methode beendet werden. Das passiert bei mir aber nicht.
Ich denke es ist wegen dem try{}catch(){} aber seht selbst...

Java:
String input = myScanner.next();
	if(input == "x"){
	     return; 
	//Methode sollte beendet werden
	}

int compare = 0;
	try {			
		compare = Integer.parseInt (input);
	} catch (Exception E){
		//hasn't been a number
		System.out.println("Wrong input.");
		continue_enter();
		break;
	}

Ausgegeben wird aber, da ich keinen Integer eingebe, die Ausgabe: "Wrong input."
 
Java:
if(input == "x") // so nicht, das ist nur der Vergleich auf die Referenzgleicht
if(input.equalsIgnoreCase("x")) // So wird x und X akzeptiert.
 
IM übrigen darfst du, da die Zeile parseInt() auch nur eine bestommte Exception werfen kann, auch gleich diese auswerten (NumberFormatException, wenn mich nicht alles täuscht). Die generische Exception solltest du wirklich nur in Nitfällen verwenden für unvorhersehbare Prozesse.
 

Zurück
Oben