[Java] Könnte mir jemand bei dem Fehler helfen?

Maliko

Vormals Nightstalker
Hoi,

ich hätte da mal ein kleines Problem. Und zwar hab ich heute ein kleines Programm geschrieben (Taschenrechner), und da habe ich ein kleines Problem. Ich zeige euch am besten erst mal den Quellcode:

Code:
import javax.swing.JOptionPane;


public class testclass {

	public static void main(String[] args) {
		String eingabe;
		int auswahl = 0;
		double zahl1 = 0;
		double zahl2 = 0;
		double zahl3 = 0;
		boolean check = false;
		
		/*do {
			eingabe = JOptionPane.showInputDialog("Bitte wählen Sie die Rechenart aus:\n" +
												  "Addition = 1 \n" +
												  "Subtraktion = 2 \n" +
												  "Multiplikation = 3 \n" +
												  "Division = 4");
			try {
				auswahl = Integer.parseInt(eingabe);
				if (auswahl > 1 && auswahl < 4) {
					check = true;
				}
				else {
					JOptionPane.showMessageDialog(null, "Bitte geben Sie nur die Zahlen 1 - 4 an.");
				}
			}
			catch (Exception ex) {
				JOptionPane.showMessageDialog(null, "Bitte geben Sie nur die Zahlen 1 - 4 an.");
			}
		} while (check = false);*/

		check = false;
		do {
			eingabe = JOptionPane.showInputDialog("Bitte geben Sie die erste Zahl ein, mit welcher Sie rechnen möchten!");
			try {
			zahl1 = Double.parseDouble(eingabe);
			check = true;
			}
			catch (Exception ex) {
				JOptionPane.showMessageDialog(null, "Bitte geben Sie eine Zahl ein");
			}	
		} while (check == false);
		
		check = false;
		do {
		eingabe = JOptionPane.showInputDialog("Bitte geben Sie die zweite Zahl ein, mit welcher Sie rechnen möchten!");
			try {
			zahl2 = Double.parseDouble(eingabe);
			check = true;
			}
			catch (Exception ex) {
				JOptionPane.showMessageDialog(null, "Bitte geben Sie nue eine Zahl ein");
			}
		} while (check == false);
		
		switch (auswahl) {
		case 1:
			zahl3 = zahl1+zahl2;
			break;
		case 2:
			zahl3 = zahl1-zahl2;
			break;
		case 3:
			zahl3 = zahl1*zahl2;
			break;
		case 4:
			zahl3 = zahl1/zahl2;
			break;
		default:
			JOptionPane.showMessageDialog(null, "Geht nicht");		
		}
		JOptionPane.showMessageDialog(null,"Das Ergebnis lautet "+zahl3);

	}

}

So. Nun zu meinem Problem. Wenn ich im ersten Feld einen Wert eintrage der größer ist als 4, oder das Feld leer lasse (oder ein anderes Zeichen eintrage), dann bekomme ich zwar die Fehlermeldung, das ich nur die Zahlen 1 - 4 eintragen darf, allerdings springt das Programm dann nicht zurück, sondern macht weiter. Hat jemand von euch vieleicht ne Ahnung woran das liegen kann? Ich hab den Bereich um den es geht mal auskommentiert, damit man ihn leichter findet.

Danke euch schon einmal im Vorraus.

PS: Nicht über den Verwendungszweck wundern, das ist ne Hausaufgabe.


EDIT: Das Problem hat sich gerade von selbst gelöst, nachdem ich heute morgen einmal kurz draufgeschaut habe. Ich habe in der Whileanweisung schlicht und ergreifend das 2. = vergessen. Danach funktionierte es natürlich auch.
 
Zuletzt bearbeitet:
Oben