Taschenrechner mittels AWT

blackrose4me

Grünschnabel
Hallöchen Leute!

Ich hab vor einigen Tagen damit begonnen mir einen Taschenrechner mittels AWT zu programmieren. Die Oberfläche steht (auch wenn nicht die schönste gg) und auch die Zahlen liest er mir. Zum Ausgeben der eingegebenen Rechnung gibt es ganz oben ein textfield. darunter ist noch ein textfield. dort soll er mir generell das Ergebnis ausliefern nachdem erneut ein Operator gewählt wurde wie z.b. "+".

Habe mich nicht zu wenig mit dem Thema auseinandergesetzt und habe schon einiges ausprobiert. Doch überall und egal wie oft ich den Code komplett umschmeiße, er will mir nicht meine Zahlen zusammen addieren. Habe es zwar auch schon geschafft, doch leider nur wenn man zuvor z.b gesagt hat > String ZweiteZahl = 5;

habe euch zum Code passend Kommentare gesetzt, vllt könnt ihr mir ja weiterhelfen? Ich wäre euch überaus dankbar dafür, den der Compiler regt mich langsam dermaßen auf gg

PHP:
  public void tastePlusActionPerformed(ActionEvent evt) {
    String s   = display.getText(); //Zahl aus Text-Display lesen

    String decArray[]; //Array erzeugen
    decArray             = s.split("+", 2); //String-Zahlen in Array schreiben
    
    //Wert in Array als String speichern
    String ErsteZahl     = new String(decArray[1]);
    String ZweiteZahl    = new String(decArray[2]);

    //Array lesen und in Zahl umwandeln
    int NeuErsteZahl     = Integer.parseInt(decArray[1]);
    int NeuZweiteZahl    = Integer.parseInt(decArray[2]);

    //Überprüfung
    if (decArray[2]!=""){
      int rech = NeuErsteZahl + NeuZweiteZahl; //Wenn beide Zahlen vorhanden sind
    } else {
      int rech = NeuErsteZahl; //Wenn nur eine Zahl vorhanden ist
    }

    String Ergebnis      = String.valueOf(rech); //Ergebnis der Rechnung wird wieder in einen String umgewandelt

    display.setText(Ergebnis); //Ergebnis-String anzeigen

    rechnung.setText(rechnung.getText()+" + "); //Rechnung anzeigen
  }
 
Hallo,

hast du Dir mal den Inhalt deines decArrays ausgeben lassen ?

Code:
for (int i=0;i<decArray.lenght();i++) {
System.out.println(decArray[i]);
}

Evtl. kommst du dem Fehler so auf die Schliche

Sonst sieht der Code nicht so schlecht aus !

Gruß JAdix
 
Hallo

ja ich denke es liegt auch an den arrays ... vielleicht kann man die nicht so einfach zusammenrechnen.

Gruß Piko
 
Zurück