# Temperaturumrechnung



## Wirtschaftsingenieur (8. Nov 2009)

Das folgende Programm funktioniert nicht. Es zeigt bei mir an, dass irgendwas mit dem Variablen C, K und F nicht stimmt.
Hier die Aufgabe:
Ein JAVA Programm soll einen Temperaturwert, der in °C (Celsius), K (Kelvin) oder °F (Fahrenheit) eingegeben werden kann, in die jeweils anderen Temperatureinheiten umrechnen. Folgende Umrechnungen seien gegeben:
 K -> °C: TC = TK – 273,15
 K -> °F: TF = 1,8 ∙ TK – 459,67
Die Einheit des einzugebenden Temperaturwerts kann mit C (für °C), K (für Kelvin) und F (für °F) angegeben werden. Folgende Konsolenausgabe zeigt einen beispielhaften Ablauf des zu erstellenden Programms:
Einheit K,C,F : C
Temperaturwert: 25
Temperatur =
298.15 K
25.0 C
76.99999999999994 F




```
System.out.println("Programm für Temperaturumrechnung!");
		String C, K, F;
		String einheit = StdInput.readString("Einheit K, C oder F: ");
		double wert = StdInput.readDouble("Temperaturwert: ");
		if (einheit == K)
		{
			double Ce = wert - 273.15;
			double Fa = 1.8 * wert - 459.67;
			System.out.println("Temperatur =" + "\n" + wert + " K" + "\n" + Ce + " C" + "\n" + Fa + " °F" );
		}
		if(einheit == C)
		{
			double Ke = wert * 273.15;
			double Fa = 1.8 * Ke - 459.67;
			System.out.println("Temperatur =" + "\n" + Ke + " K" + "\n" + wert + "°C" + Fa + " °F");
		}
		if(einheit == F)
		{
			double Ke = (wert + 459.67) / 1.8;
			double Ce = Ke + 273.15;
			System.out.println("Temperatur =" + "\n" + Ke + " K" + "\n" + Ce + " °C" + wert + "°F");
}
```


----------



## eRaaaa (8. Nov 2009)

huhu
also 
1.) strings mit equals vergleichen, anstelle ==
2.) du musst den variablen String C, K, F; natürlich noch einen wert zuweisen, sonst kannste da ja auch nicht vergleichen.


----------



## Final_Striker (8. Nov 2009)

http://www.java-forum.org/java-faq-beitraege/1350-vergleichen-strings.html


----------



## Wirtschaftsingenieur (8. Nov 2009)

Wie würde die verbesserte Lösung lauten? Kann ich statt String auch char verwenden? Weil es wird ja nur nach einen Buchstaben gefragt.


----------



## eRaaaa (8. Nov 2009)

ja, aber trotzdem musst du den variablen noch werte hinzufügen (wenn schon...) eig. könntest du natürlich auch gleich abfragen, ob eingabe == bzw equals irgendwas ist...

```
if(einheit=='C'){
...
}
....
```
bzw wenn du bei string bleiben möchtest

```
if("C".equals(einheit)){
...
}
..
```


----------

