Programmierter Taschenrechner addiert nur?

3 Antworten

So musst das richtig heißen... dann geht's!

public class Taschenrechner {
public static void main(String[]args){
System.out.println("Willkommen im Taschenrechner!");
int zahl = IOTools.readInteger();
System.out.println("Geben Sie bitte eine Zahl ein:" + zahl);
int zahl2 = IOTools.readInteger();
System.out.println("Geben Sie bitte eine weitere Zahl ein:" + zahl2);
char operator = IOTools.readChar();
System.out.println("Geben Sie bitte einen Operatoren ein:" + operator);
int ergebnis = 0;
if (operator == '+') {
ergebnis = zahl + zahl2;
System.out.println(zahl + "" + operator + "" + zahl2 + "=" + ergebnis);
}
else if (operator == '-') {
ergebnis = zahl - zahl2;
System.out.println(zahl + "" + operator + "" + zahl2 + "=" + ergebnis);
}
else if (operator == '*') {
ergebnis = zahl * zahl2;
System.out.println(zahl + "" + operator + "" + zahl2 + "=" + ergebnis);
}
else if (operator == '/') {
ergebnis = zahl / zahl2;
System.out.println(zahl + "" + operator + "" + zahl2 + "=" + ergebnis);
}
else if (operator == '%') {
ergebnis = zahl % zahl2;
System.out.println(zahl + "" + operator + "" + zahl2 + "=" + ergebnis);
}
else {
System.out.println("Fehler! Kein Operator.");
}
  
}
}
6

Achsooooooooo jetzt hab ich's verstanden! Viel dank!

0
6

Hallo, ich wollte fragen wie ich das jetzt zu einem switch case überarbeite?

Bisher habe ich das, aber es klappt nicht so wie ichs will:

int ergebnis = 0;

int var = 0;

switch (var) {

case 0: 

ergebnis = zahl + zahl2; break;

case 1:

ergebnis = zahl - zahl2; break;

case 2:

ergebnis = zahl * zahl2; break;

case 3:

ergebnis = zahl / zahl2; break;

case 4:

ergebnis = zahl % zahl2; break;

default:

System.out.println("Das war kein Operator.");

}

  

}

0
43
@Mustachey

Der Code selbst ist korrekt. Nur solltest du bedenken, dass der Programmfluss logischerweise immer nur in den ersten case hineingeht. Denn dieser passt. Die Variable var sollte dynamisch gesetzt werden, bspw. durch eine Nutzereingabe.

int var = IOToolkit.readInteger();

Gebe im Übrigen jedem Befehl eine eigene Zeile, um den Code übersichtlich zu halten. Konkret gemeint ist hier break.

0
6
@regex9

Damit werden die Zahlen aber nicht verrechnet also es wird kein Ergebnis angezeigt..

0
7
@Mustachey

Du musst der Variable erst einen Wert zuweisen. Also wenn "+" eingegeben wird, dann var=0, wenn "-"eingegeben wird, dann var=1 usw.

0

IF there is any Operator

then use +

Weil er falsch programmiert ist? ;)

6

Ja und wie behebe ich das Problem?

0
6
@mooomoo

import Prog1Tools.IOTools;

public class Taschenrechner {

public static void main(String[]args){

System.out.println("Willkommen im Taschenrechner!");

int zahl = IOTools.readInteger();

System.out.println("Geben Sie bitte eine Zahl ein:" + zahl);

int zahl2 = IOTools.readInteger();

System.out.println("Geben Sie bitte eine weitere Zahl ein:" + zahl2);

char operator = IOTools.readChar();

System.out.println("Geben Sie bitte einen Operatoren ein:" + operator);

int ergebnis = 0;

if (operator == '+') {

ergebnis = zahl + zahl2;

System.out.println(zahl + "" + operator + "" + zahl2 + "=" + ergebnis);

}

else if (operator == '-') {

ergebnis = zahl + zahl2;

System.out.println(zahl + "" + operator + "" + zahl2 + "=" + ergebnis);

}

else if (operator == '*') {

ergebnis = zahl + zahl2;

System.out.println(zahl + "" + operator + "" + zahl2 + "=" + ergebnis);

}

else if (operator == '/') {

ergebnis = zahl + zahl2;

System.out.println(zahl + "" + operator + "" + zahl2 + "=" + ergebnis);

}

else if (operator == '%') {

ergebnis = zahl + zahl2;

System.out.println(zahl + "" + operator + "" + zahl2 + "=" + ergebnis);

}

else {

System.out.println("Fehler! Kein Operator.");

}

  

}

}

0
7
@Mustachey

Ich hab dir eine Antwort gepostet, da siehst du deinen Fehler :)

1
22
@Mustachey

Dein Ernst?

Schau doch mal deinen Code an, in jeder If Abfrage hast du als ergebnis:

ergebnis = zahl + zahl2;

Da kann das System nur addieren, logisch oder?

0

Casio Taschenrechner spinnt?

Hey, ich bräuchte mal Hilfe.

Ich habe einen Casio fx 991 DE + und wollte auf dem Quadratische Gleichungen ausrechnen. Mein Problem, immer wenn ich (nach Mode 5 und egal ob 1,2,3 oder 4) bei A,B oder C ein X (also alpha und )) eingebe, wird daraus (auch direkt wenn ich zum nächsten Buchstaben gehe) die Zahl 1,837.

Ich bekomme nicht raus woran das liegt, ob ich irgendwas falsch mache oder mein Taschenrechner spinnt, aber über Hilfe wäre ich sehr glücklich :)

...zur Frage

Addiert sich dann auch die Stromstärke?

Angenommen ich verschalte 6 spannungsnetzteile miteinander ( je 2000v bei 1 mA) , so addiert sich die Spannung auf 12 kv , bleiben die 1 mA konstant und addiert sich auch die Stromstärke was ich befürchte auf 6 mA??

...zur Frage

Bedienungshilfe Taschenrechner - Casio fx-991DE PLUS

Guten Tag, ich habe ein Problem mit meinem Taschenrechner (Modell steht oben) und zwar verstehe ich nicht wie man dort Einheiten umrechnet. Also in der Bedienungsanleitung steht Shift->8 und dann die Zahl was man umrechnen will. Soweit komme ich auch aber wenn ich dann zum Beispiel 02 eingebe steht dann da cm->in. Was soll dieses in heißen? Und wie mache ich weiter wenn ich zum Beispiel cm in km umrechnen will?

Danke schön mal für die Antworten!

...zur Frage

Passworteingabe ist im Anmelde Bildschirm verzögert?

Guten Tag

Die Passworteingabe im Anmeldebildschirm ist immer verzögert.

Jedesmal wenn ich das Passwort eingebe, dann verzögert sich die Eingabe Information. Sprich der getippte Buchstabe erscheint erst später auf dem Bildschirm...Weiß jemand woran das liegt? Liegt es an Windows? Oder liegt es eher an der Festplatte oder an der CPU/Graka?

Kann mir da bitte jemand weiterhelfen.

Danke im Vorraus!

...zur Frage

Wie komme ich in meine Unitymedia Router Einstellungen?

Guten Tag, ich versuche über den normalen weg, also in dem ich die ip 192.168.0.1 eingebe, in meine Router einstellungen zu kommen dies funktoniert nicht und mir wird nur eine Seite mit einer fehlermeldung gezeigt. Woran liegt das und gibt es alternative möglichkeiten?

...zur Frage

Taschenrechner Display Streifen

Guten Tag, ich hab heute meinen Casio FX-9750 G II Taschenrechner in der Schule auspacken wollen, als er aber dann angemacht wurde, fiel mir auf, dass am Display zwei waagerechte Streifen im oberen Viertel gezogen sind. Ich kann jetzt nur noch zur Hälfte die Ergebnisse sehen, kann mir jemand helfen woran das liegt und kann er mir sagen, was ich dagegen unternehmen kann, weil ich hab mir den Taschenrechner erst von einer Woche zugelegt und ich brauche ihn dringend, waere auch Schade, wenn die 75€ fuer die Katz' gewesen sind.

Mfg

...zur Frage

Was möchtest Du wissen?