# Applet Taschenrechner mit 3 TextAreas und 1 Button



## JoeMcCool (8. Feb 2008)

Hallo,
ich habe mir ein Applet gebastelt mit 3 TextAreas und einem Button. Nun möchte ich, dass die jeweils kleinere Zahl in TextArea1 oder 2 von der größeren abgezogen wird. Dies soll durch drücken auf den Button geschehen. Das Ergebnis soll dann in TextArea 3 ausgegeben werden.

Nun weiß ich leider nicht wie der Code für den Button auszusehen hat. Außerdem habe ich etwas von einem Actionlistener gelesen, weiß aber nicht wie ich ihn richtig schreibe bzw. wohin. Für diese Aufgabe würde ich nur Minus brauchen es wäre aber gut wenn ich wüsste, wie ich die restlichen Rechenzeichen auch verwenden könnte. Das mit der jeweils kleineren von der größeren abziehen, könnte man doch mit If else bestimmt irgendwie machen oder?
Könnte mir da bitte jemand helfen?

Daaannkkeee
bis dann


----------



## Jango (8. Feb 2008)

JoeMcCool hat gesagt.:
			
		

> Für diese* Aufgabe* würde ich nur Minus brauchen es wäre aber gut


Keine Hausaufgaben hier!
Zeig uns deinen Code - aber den, den du selber dazu entwickelt hast.  :wink:


----------



## L-ectron-X (8. Feb 2008)

Man kann aber auch die Forumsuche benutzen:
http://www.java-forum.org/de/viewtopic.php?t=20614

Das kommt der Sache ganz nahe, was du machen möchtest.


----------



## JoeMcCool (8. Feb 2008)

Sorry das mit der Aufgabe ist wohl falsch angekommen. Es handelt sich hierbei nicht um eine HA ich versuche es halt mal.

Dank dem Link bin ich jetzt schon weiter gekommen und er rechnet auch, leider zieht er nicht die größere von der kleineren ab son einfach OP1 - OP2 (sind meine TextAreas). Das muss ich mit dem If befehl machen, denke ich, jedoch bekomm ich's nicht hin. Im moment meldet er mir das z schon definiert ist bei folgendem Codeauszug:


```
public void b1ActionPerformed(ActionEvent e) {
    Object quelle = e.getSource();
         String a = OP1.getText();
         String b = OP2.getText();
         int x = Integer.parseInt(a);
         int y = Integer.parseInt(b);
         int z = x - y;

         if (y>x) {
            int z = y - x;
         }

         String c = String.valueOf(z);
         OP3.setText(c);

  }
```

habe wohl den if Befehl irgendwie falsch drin, habe mehrere Varianten ausprobiert klappt aber einfach nicht, wird wohl nicht die richtige dabei gewesen sein.

Danke


----------



## Ariol (8. Feb 2008)

Versuchs mal so:

```
public void b1ActionPerformed(ActionEvent e) 
{
         String a = OP1.getText();
         String b = OP2.getText();

         int x = Integer.parseInt(a);
         int y = Integer.parseInt(b);
        
         int z = Math.abs(x-y);

         String c = Integer.toString(z);
         OP3.setText(c);

  }
```

...und Variablennamen schreibt man klein (OP1, OP2)


----------



## JoeMcCool (8. Feb 2008)

Ja das funktioniert, habe jedoch vor danach noch weiter zu rechnen mit dem Ergebnis so wüsste ich nicht wie ich es anstellen soll. Ein Bsp. wie er dann Rechnen sollte:

24 - 21 = 3
21 - 3 = 18      das sollte passieren wenn er op2 von op1 abzieht

ist jetzt aber op1 kleiner als op2 würde das passieren:

21 - 24 = 3
24 - 3 = 21      dann wär ich wieder beim Anfang.

klar ist mir auch dass wenn ich ihn die Minuszahlen anzeigen lassen würde die Rechnungen funktionieren würden. Ich möchte es aber auf diesem Weg machen und bräuchte eigentlich nur den Richtigen If Befehl. Trotzdem danke für den Vorschlag.


----------



## L-ectron-X (8. Feb 2008)

```
if(y > x) {
   z = y - x;
}
else {
   z = x - y;
}
```


----------



## JoeMcCool (8. Feb 2008)

wenn ich das so einfüge würde der Code so aussehen:


```
public void b1ActionPerformed(ActionEvent e) {
         Object quelle = e.getSource();
         String a = OP1.getText();
         String b = OP2.getText();
         int x = Integer.parseInt(a);
         int y = Integer.parseInt(b);

         if(y > x) {
            z = y - x;
         }
         else {
            z = x - y;
         }

         String c = String.valueOf(z);
         OP3.setText(c);

  }
```

dann erhalte ich jedoch die Fehlermeldung:



> Rechner.java:62:13: cannot find symbol
> symbol  : variable z
> location: class Rechner
> z = y - x;
> ...



mein Fehler den Code einfach so einzufügen?


----------



## Ariol (8. Feb 2008)

Du musst vor die if-Abfrage 

```
int z  = 0;
```
einfügen.


----------



## JoeMcCool (8. Feb 2008)

Danke. Jetzt funktioniert alles wunderbar.


----------

