Hallo Zusammen,
ich habe die Aufgabe einen Taschenrechner umzustellen, so dass dieser mit einer JComboBox (vorher Radiobuttons) direkt nach Auswahl verschieden Rechenoperationen ausführen soll. Das funktioniert mittlerweile auch einigermaßen. Allerdings scheint mein abfangen von diversen Falscheingaben nicht zu funktionieren. In der Methode berechnen() ist folgendes hinterlegt:
[CODE lang="java" title="Methode berechnen()"]private String berechnen() {
//ergebnis muss initialisiert werden
int zahl1, zahl2, ergebnis = 0;
boolean fehlerFlag = false;
if (eingabe1.getText().isEmpty()) {
zahl1 = 0;
eingabe1.setText("0");
}
else
zahl1 = Integer.parseInt(eingabe1.getText());
if (eingabe2.getText().isEmpty()) {
zahl2 = 0;
eingabe2.setText("0");
}
else
zahl2 = Integer.parseInt(eingabe2.getText());
//welche Operation ist ausgewählt?
//Die Rechenoperation wird direkt über den Index das Arrays abgefragt
if (auswahl.getSelectedIndex() == 0)
ergebnis = zahl1 + zahl2;
if (auswahl.getSelectedIndex() == 1)
ergebnis = zahl1 - zahl2;
if (auswahl.getSelectedIndex() == 2)
ergebnis = zahl1 * zahl2;
//bei der Division überprüfen wir den zweiten Wert auf 0
if (auswahl.getSelectedIndex() == 3) {
if (zahl2 != 0)
ergebnis = zahl1 / zahl2;
else
fehlerFlag = true;
}
//wenn es keine Probleme gegeben hat, liefern wir das Ergebnis zurück
if (fehlerFlag == false) {
//das Format anwenden, das Ergebnis ist eine Zeichenkette
return (Integer.toString(ergebnis));
}
else
return ("Nicht definiert");
}
[/CODE]
dennoch werden keine Eingaben nicht wie erwartet mit "0" gesetzt... auch eine Division durch 0 bringt nicht den erwarteten Text ("Nicht definiert")
was mache ich da falsch?
vielen Dank und VG
eiligerwind
ich habe die Aufgabe einen Taschenrechner umzustellen, so dass dieser mit einer JComboBox (vorher Radiobuttons) direkt nach Auswahl verschieden Rechenoperationen ausführen soll. Das funktioniert mittlerweile auch einigermaßen. Allerdings scheint mein abfangen von diversen Falscheingaben nicht zu funktionieren. In der Methode berechnen() ist folgendes hinterlegt:
[CODE lang="java" title="Methode berechnen()"]private String berechnen() {
//ergebnis muss initialisiert werden
int zahl1, zahl2, ergebnis = 0;
boolean fehlerFlag = false;
if (eingabe1.getText().isEmpty()) {
zahl1 = 0;
eingabe1.setText("0");
}
else
zahl1 = Integer.parseInt(eingabe1.getText());
if (eingabe2.getText().isEmpty()) {
zahl2 = 0;
eingabe2.setText("0");
}
else
zahl2 = Integer.parseInt(eingabe2.getText());
//welche Operation ist ausgewählt?
//Die Rechenoperation wird direkt über den Index das Arrays abgefragt
if (auswahl.getSelectedIndex() == 0)
ergebnis = zahl1 + zahl2;
if (auswahl.getSelectedIndex() == 1)
ergebnis = zahl1 - zahl2;
if (auswahl.getSelectedIndex() == 2)
ergebnis = zahl1 * zahl2;
//bei der Division überprüfen wir den zweiten Wert auf 0
if (auswahl.getSelectedIndex() == 3) {
if (zahl2 != 0)
ergebnis = zahl1 / zahl2;
else
fehlerFlag = true;
}
//wenn es keine Probleme gegeben hat, liefern wir das Ergebnis zurück
if (fehlerFlag == false) {
//das Format anwenden, das Ergebnis ist eine Zeichenkette
return (Integer.toString(ergebnis));
}
else
return ("Nicht definiert");
}
[/CODE]
dennoch werden keine Eingaben nicht wie erwartet mit "0" gesetzt... auch eine Division durch 0 bringt nicht den erwarteten Text ("Nicht definiert")
was mache ich da falsch?
vielen Dank und VG
eiligerwind