Frage zu .getText();

erdmelone

Grünschnabel
Hallo,

Und zwar habe ich eine Frage:
Ich muss (für die schule) ein Programm schreiben, mit welchem man von DM in EUR umrechnen kann.
Soweit so gut, klappt auch. Nur mein Problem ist jetzt, dass ich möchte, dass das in einer Dauerschleife laufen kann, also immer wieder einene Zahl eingeben, berechnen lassen, ausgeben, zurück gehen, neu eingeben... usw. Jetzt nimmt aber .getText(); immer die Zahl, die als erstes eingegeben wurde. Speichert der die irgendwie zwischen oder so? selbst wenn ich eingabe.setText(""); mache nimmt der immer die erste Zahl. :(

Ich hoffe ihr könnt mir helfen.

Java:
import java.awt.Button;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

public class dmumrechner_160427 implements ActionListener, WindowListener

{    Frame f = new Frame();
    Frame f2 = new Frame();
    Button b = new Button("Berechnen...");
    TextField eingabe = new TextField("");
    Label text = new Label ("Geben Sie bitte einen DM-Betrag ein:");
    String zahl;
    Double dm;
    Double ergebnis;
    String s;
    Button z = new Button ("Zurück...");
    Button a = new Button ("Abbrechen...");
   
   
   
    public static void main(String[] args) {
       
        new dmumrechner_160427();
       
    }
   
    public dmumrechner_160427(){
       
        f.setTitle("DM Umrechner");
        f.setBounds(200, 200, 410, 200);
        f.setLayout(null);
        f.addWindowListener(this);
       
        text.setBounds(100, 40, 210, 30);
       
        eingabe.setBounds(160, 80, 80, 20);
       
        b.addActionListener(this);
        b.setBounds(160,120, 80 ,30);
       
        f.add(b);
        f.add(text);
        f.add(eingabe);
        f.setVisible(true);
               
        f2.setTitle("Ergebnis");
        f2.setBounds(200, 200, 410, 200);
        f2.setLayout(null);
        f2.addWindowListener(this);
       
        z.addActionListener(this);
        z.setBounds(100,120, 80 ,30);
       
        a.addActionListener(this);
        a.setBounds(240,120, 80 ,30);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        
       
        if (e.getActionCommand().equals("Berechnen...")){
           
           
            zahl = eingabe.getText();
            zahl = zahl.replace(",", ".");
            dm = Double.parseDouble(zahl);
            ergebnis = dm/1.95583;
            s = String.format("Der Betrag lautet %.2f €", ergebnis);
                                   
            Label ausgabe = new Label(s);
            ausgabe.setBounds(150, 40, 210, 30);
           
            f2.add(a);
            f2.add(z);
            f2.add(ausgabe);
            f.setVisible(false);
            f2.setVisible(true);
           
            eingabe.setText("");
            zahl = ("");
            dm = 0.0;
            ergebnis = 0.0;
            s = ("");
           
                       
        }
        else if (e.getActionCommand().equals("Zurück...")){
           
            f2.setVisible(false);
            f.setVisible(true);
                       
        }
        else if (e.getActionCommand().equals("Abbrechen...")){
           
            System.exit(0);
           
        }
       
    }
 

Neue Beiträge

Zurück