Taschenrechner in Java programmieren, Rechenzeichen

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.


Jann96 
Beitragsersteller
 11.10.2012, 20:03

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

Die beste Antwort könnte in den restlichen 2 Antworten stecken - registriere Dich jetzt!