Wie programmiere ich einen Taschenrechner in Java Editor wo man die Rechenzeichen selber wählen kann?

Der Code - (programmieren, Java, Anfänger)

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;
}


SardiTime 
Beitragsersteller
 21.10.2016, 18:18

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;
}

0
jaunel  21.10.2016, 18:29
@SardiTime

Nein sondern z.b. bei ' * ' musst du natürlich ergebnis = zahl1 * zahl2 schreiben, also immer abhängig vom zeichen entsprechend rechnen

0
SardiTime 
Beitragsersteller
 21.10.2016, 18:32
@jaunel

Ich weiß. Hab nur vergessen beim Kopieren die Pluse zu ersetzen. Aber Danke! 

0
SardiTime 
Beitragsersteller
 21.10.2016, 18:37
@jaunel

Mist es geht immer noch nicht. Ich weiß nicht wie ich "ergebnis" definieren soll.

0
SardiTime 
Beitragsersteller
 21.10.2016, 18:43
@SardiTime

Geht nicht. :( Ich kann "ergebnis" nicht definieren.

0
SardiTime 
Beitragsersteller
 21.10.2016, 19:02
@SardiTime

Ok. Hab's doch hingekriegt. Ich musste 

"ergebnis = zahl1+zeichen+zahl2;" hinschreiben.

Ich danke allen für eure Hilfe! <3

0

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;

Woher ich das weiß:Studium / Ausbildung