Taschenrechner in Java programmieren, Rechenzeichen
Wir haben heute in der Schule angefangen, Java zu lernen und solln als Hausaufgabe einen Taschenrechner programmieren. Einen einfachen Taschenrechner, der z.B. nur + rechnen kann ist kein Problem, aber ich will, dass ich sowohl 2 zahlen, als auch ein Rechenzeichen eingeben kann, geht bei mir aber leider nicht. Ich habs probiert mit "public int Ergebnis (int x, char y, int z); und dann "return x + y + z" da ich weiß, dass man zB in einer Textbox so einzelne Texte verbindet, aber bei return gilt es als Rechenzeichen. wie kann ich also Zahlen und REchenzeichen verbinden?
4 Antworten
Mach doch drei Eingabefelder. Zwei für die Operatoren, eins für den Operanden.
Mit einem einzigen Texteingabefeld kommst Du nicht um einen Parser herum.
Schonmal Danke für deine Antwort, aber wie gesagt, ich prbier java heute zum ersten mal aus. :D Also wie mach ich 3 Eingabefelder? Ich benutze übrigens BlueJ, fals das wichtig ist.
Die Lösung von WhiteRussian ist schon die beste und einfachste Lösung! Das Problem ist, dass du mit if( y == '+') einen String ('+') mit einem Char (y) versuchst zu vergleichen. Dies erzeugt den illegal start of expression Fehler. Ändere Einfach den Kopf der Funktion in
public int Ergebnis ( int x, String y, int z) {
und die If-Abfrage von WhiteRussian sollte funktionieren. Verwende also den folgenden kode:
public int Ergebnis ( int x, Sting y, int z){
if( y == '+')
return x+z;
if( y == '-')
return x-z;
if( y == '*')
return x*z;
if( y == '/')
return x/z;
else
return x+z;
}
Du solltest auch noch darüber nachdenken, den Rückgabewert der Funktion in float zu ändern, weil du sonst bei einer Rechnung wie z.B. 7 / 3 eine Fehlermeldung bekommst.
Ich hoffe, ich konnte helfen.
~ MyMarvel