# Währungsrechner brauche Hilfe



## Diamond (18. Nov 2009)

Hallo Liebes Java-Forum,

bin Java Anfänger und möchte einen kleinen Währungsrechner Programmieren. Das Ganze Obejektorientiert.

Nun ich habe schon angefangen und häng jetzt ein bisschen.


```
double euro = Double.parseDouble(jTextField1.getText());
        double kurs = Double.parseDouble(jTextField2.getText());
        double tl = Double.parseDouble(jTextField3.getText());

        if (jTextField1.getText().equals("")){   //kann ich nicht die Var euro angeben statt jTextField
          System.out.Println();
          }
```

Bei der If Schleife möchte ich sagen wenn irgeneinen double wert in jTextField1 und jTextfield2 eintippe, dass er dann den wert von jTextField1 * jTextfield2 nimmt und das ergebnis im Jetektfield3 per System.out.Println() anzeigt.

sonst soll er mir ne nachricht übergeben "Bitte geben Sie den wert 1 und den Wert2 ein"

Ich hoffe ich konnte micht eigenermaßen gut ausdrücken. Das ist immer sone Sache bei mir und neue Programmiersprache und ausdrücken

Danke an Alle im Vorraus


----------



## ARadauer (18. Nov 2009)

if-schleife.de



> im Jetektfield3 per System.out.Println() anzeigt.


nein... ins  Textfeld schreiben wir nichts mit Sytem.out.println, das schreibt nur auf die Konsole..



> //kann ich nicht die Var euro angeben statt jTextField


nein da du den primitiven datentyp double nicht mit "" verlgeichen kannst...

so vielleicht?

```
if (jTextField1.getText().equals("") || jTextField2.getText().equals("")){  
         jTextField3.setText("Bitte sinnvolle Werte eingeben");
      }else{
         double euro = Double.parseDouble(jTextField1.getText());
         double kurs = Double.parseDouble(jTextField2.getText());
         double ergebnis = euro*kurs;
         jTextField3.setText(ergebnis+"");
      }
```

Die Ausgabe wird dir wahrschenlich nicht gefallen...
das hilft dir NumberFormat (Java 2 Platform SE 5.0)


----------



## KrokoDiehl (18. Nov 2009)

Du brauchst ein Ereignis, das deine Umrechnung auslöst. Da du von Textfeldern redest, nehme ich an, dass du eine grafische Oberfläche hast. Darauf könntest du z.B. noch einen Button platzieren und auf dessen Klick reagieren.
Ohne Button wird es schwieriger, denn was soll der Benutzer denn machen, um die Umrechnung auszulösen?

Also deine Suche sollte in Richtung
*ActionListener *(reagiert auf Buttonklicks)
und
*JOptionPane *gehen (kann Meldungsfenster anzeigen)
gehen.


...ach ja, weil's ja obligatorisch ist: IF Schleife

...Ok ok, mal wieder zu spät


----------



## Diamond (18. Nov 2009)

Danke ich werds ausprobieren
was heißt denn das || in java? und oderwas?


----------



## SlaterB (18. Nov 2009)

und und oder kommen beide in Frage oder war es oder und und?

ein Lehrbuch hilft sicherlich
Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 2.5 Ausdrücke, Operanden und Operatoren


----------



## Diamond (18. Nov 2009)

kann ich das nicht so machen?

```
if (double euro = Double.parseDouble(jTextField1.getText()) || double kurs = Double.parseDouble(jTextField2.getText())){
            double ergebnis = euro*kurs;
            jTextField3.setText(ergebnis+"");
            
        }
```

es ist ein ereignis hinter. ich habe ein Button in der Gui...


----------



## faetzminator (18. Nov 2009)

Was soll dieser Code machen?


----------



## Diamond (18. Nov 2009)

er soll einfach in einer IfthenElse verzweigung schauen sobald was im textfeld1 und zwei etwas eigetippt wurden ist, dass er dann die werte mal nimmt und im textfeld3 ausgibt. und das ganze andersrum


----------



## faetzminator (18. Nov 2009)

[c]jTextField1.getText().length() > 0 && jTextField2.getText().length()[/c]?


----------



## Diamond (18. Nov 2009)

faetzminator hat gesagt.:


> [c]jTextField1.getText().length() > 0 && jTextField2.getText().length()[/c]?



das geht nicht. Funkitoniert nicht

Hier der aktuelle code:

```
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      


        if (jTextField1.getText().length() > 0 && jTextField2.getText().length()){
            double euro = Double.parseDouble(jTextField1.getText());
            double kurs = Double.parseDouble(jTextField2.getText());
            double ergebnis = euro*kurs;
            jTextField3.setText(ergebnis+"");
        }
    }
```


----------



## KrokoDiehl (18. Nov 2009)

faetzminator hat gesagt.:
			
		

> jTextField1.getText().length() > 0 && jTextField2.getText().length()


Nicht einfach abschreiben, hier fehlt ein 
	
	
	
	





```
> 0
```
 am Ende:

```
jTextField1.getText().length() > 0 && jTextField2.getText().length() > 0
```

(PS: in [ C ]-Tags geschrieben kürzt er das "> 0" am Ende tatsächlich weg... :bahnhof: )

Es geht darum zu prüfen, ob deine Textfelder leer sind. Dafür gibt es durchaus mehrere Möglichkeiten:

```
//ggfs in temporäre String lesen und vergleichen (kürzere Zeile, aber mehr Zeilen)
String text1 = jTextField1.getText();
String text2 = jTextField2.getText();

//A Länge der Strings vergleichen
if (text1.length() > 0 && text2.length() > 0)

//B mit leerem String vergleichen
if ( ! text1.equals("") && ! text2.equals(""))

//C isEmpty()-Methode benutzen (erst ab 1.6 glaube ich)
if ( ! text1.isEmpty() && ! text2.isEmpty())

//uvm.
```


----------

