Wie programmiere ich einen Taschenrechner in Java Editor wo man die Rechenzeichen selber wählen kann?
Ich spiele gerade zum ersten Mal mit dem Java Editor herum und versuche gerade meinen ersten Taschenrechner zu programmieren. Ich will einen sehr simpeln Taschenrechner programmieren wo in cmd die erste Zahl, das Rechenzeichen und die zweite Zahl abgefragt wird. Allerdings habe ich einige Probleme was das Rechenzeichen angeht und immer wenn ich versuche etwas anders zu machen kommt ein neuer Fehler. Mein Code sieht gerade so wie im Bild aus. Hoffe mir kann jemand helfen. :)

2 Antworten
Das Problem ist, das Zeichen eben nur ein Zeichen ist aber für den Computer nicht das gleiche wie das eigentliche Symbol.
Du kannst aber je möglicher Eingabe für ein Rechenzeichen einen if oder besser einen Switch-case einbauen, hier kontrollierst du welches Zeichen du erhalten hast und führst die entsprechende Funktion aus.
Also in der Art:
if (zeichen =='+'){
Ergebnis =Zahl 1 +zahl2;
}
Nein sondern z.b. bei ' * ' musst du natürlich ergebnis = zahl1 * zahl2 schreiben, also immer abhängig vom zeichen entsprechend rechnen
Geht nicht. :( Ich kann "ergebnis" nicht definieren.
Ok. Hab's doch hingekriegt. Ich musste
"ergebnis = zahl1+zeichen+zahl2;" hinschreiben.
Ich danke allen für eure Hilfe! <3
Kommt bischen spät aber für andere die die Frage lesen sollten:
Um es kurz zu fassen und nicht jedes mal ein "if" oder "else if" zu verwenden kann man das zum Beispiel so kurzfassen:
switch(zeichen) {
case '+' : ergebnis = zahl1 + zahl2;
break;
case '-' : ergebnis = zahl1 + zahl2;
break;
case '/' : ergebnis = zahl1 + zahl2;
break;
default : System.out.println("Falsche Eingabe")
Um fehleingaben zu verhindern ist das "default" da. Das wird automatisch ausgeführt wenn keines der Fälle zutrifft.
case '*' : ergebnis = zahl1 * zahl2;
break;
Also soll ich jetzt überall diesen Befehl so hinschreiben?
if (zeichen =='+'){
ergebnis =zahl1 + zahl2;
}
if (zeichen =='-'){
ergebnis =zahl1 + zahl2;
}
if (zeichen =='*'){
ergebnis =zahl1 + zahl2;
}
if (zeichen =='/'){
ergebnis =zahl1 + zahl2;
}