# Umrechnung Zeit/Temperatur



## Gouda (2. Jan 2010)

Erstmal wünsche ich ein frohes neues Jahr 

ich bin so langsam am verzweifeln, für mein "Infopraktikum" am kommenden Dienstag muss ich ein 
Java-Programm schreiben was mir °C in °F und die europäische Zeit in das amerikanische Format (am/pm) umrechnet.

dies soll in vier Methoden passieren:

- main-Methode liest die Werte ein, speichert sie als Attribute und ruft eine Methode zur Ausgabe aus

- Methode soll ohne Parameter aufgerufen werden.
  Sie soll auch eine sinnvolle Ausgabe gewährleisten für die Temperatur und die Zeit durch aufrufen
  von anderen Methoden bzw. durch Auslesen der Attribute. Sie soll keinen Rückgabewert liefern.

- Einer dieser Methode wird der Wert für die Temp. in °C übergeben.
  Diese rechnet den Wert in °F um und liefert ihn dann an die ausgebende/ausrufende Methode zurück

- Eine weitere soll die Zeit umrechnen und überprüfen ob es sich um am oder pm handelt.
  Dies soll mit einem logischen Wert zb. true für Vormittag passieren.

- Der dritten Methode wird die Uhrzeit im 24 stundenformat übergeben, und wandelt vom 24er Format
  ins 12er Format um und speichert es in einem Attribut.
  Diese Methode soll auch keinen Rückgabewert liefern.

Das ist meine Aufgabenstellung.
(Ich denke mal es ist wichtig  )

So die Temp.umrechnung hab ich soweit fertig (dank des Forums, noch als Gast)

Es stellt sich nur die Frage wie ich es in das komplette Programm einbinde.

Des weiteren verstehe ich das ganze mit den Methoden nicht so ganz,
das ich zb. am Anfang des Programmes die Attribute festlegen muss hab ich verstanden 
(steht auch so in meinen Unterlagen)

Und dann wäre noch die Zeitumrechnung. 
(Dies soll ohne Trennzeichen für std/min passieren also einfach HHMM)

Das ist das Programm zur Temp.umrechnung:


```
import javax.swing.JOptionPane;

public class Versuch4 {

	public static void main(String[] args) {
	String eingabe = JOptionPane.showInputDialog("Bitte einen °C-Wert eingeben:");
		
		JOptionPane.showMessageDialog(null, eingabe + "°C sind "
			+ celsiustoFahrenheit (Double.parseDouble(eingabe))
			+ " °F");
		}
		
		public static double celsiustoFahrenheit (double celsius) {
		return celsius * 9 / 5 + 32;
		}
		
}
```


ich hoffe ihr könnt mir helfen bzw. die richtigen Denkanstöße liefern,
es gibt wohl auch die Möglichkeit dies mit drei Methoden zu schreiben, 
aber lieder wird dies nicht als lösung anerkannt 

Ich danke schon mal im voraus für eure Hilfe

Gouda


----------



## eRaaaa (2. Jan 2010)

Was ist denn jetzt genau deine Frage? 



> ch hoffe ihr könnt mir helfen bzw. die richtigen Denkanstöße liefern,


Hast du hier mal reingeschaut? : http://www.java-forum.org/java-basics-anfaenger-themen/93025-cannot-find-symbol.html#post589919


----------



## Gouda (2. Jan 2010)

danke für den link.

also ich muss dazu sagen, java ist für mich momentan wie ein buch mit sieben siegeln für mich 
obwohl es eig. ganz gut sein soll, das zu programmieren

also ich versteh das ganze mit den Methoden nicht so richtig.

Ich habe ja jetzt schon eine Methode (?) die mit °F ausrechnet oder?

Also wie ich die einzelnen Zusammhänge schreiben muss,
zb. ich gebe ein 2354 (HHMM) dann soll das Programm das ja einlesen, über ein eingabefenster, und mir das dann 
als 1254 pm ausgeben.

meine Frage ist, wie bekomme ich das mit den vier Methoden geregelt.


Edit:

ich versteh das so:

1. ich habe eine methode, wo ich beide werte eingabe und es gespeichert wird.
2. eine methode liest daraus dann die Temp. wandelt es um und speichert dies wiederrum
3. die andere methode liest die Zeit wandelt dies auch um und überprüft nach der umwandelung 
    ob es sich um am oder pm handelt, danach wird das ergebnis auch wieder gespeichert
4. die letzte methode liest die gespeicherten werte aus und gibt sie auf den bildschirm

Edit2:

kann ich eig die einzelnen progammteile, aus dem temp.programm trennen?

weil dann ich es mir so langsam vorstellen


----------



## Gouda (2. Jan 2010)

ich hab kopfschmerzen

es läuft nicht, der versuch es in mehtoden aufzuteilen ist fehlgeschlagen.

hier aber mal mein versuch, vllt findet einer den fehler:


```
import javax.swing.JOptionPane;

public class Versuch4 {
	
	static double Temperatur;
	static int Zeit;
	
	public static void main(String[] args) {
	String temperatur = JOptionPane.showInputDialog("Bitte einen °C-Wert eingeben:");
	Temperatur = Double.parseDouble (temperatur);
	
	Temperatur = celsiustoFahrenheit(Temperatur);
	}
	
		
	public static double celsiustoFahrenheit (double Temperatur) {
		return Temperatur * 9 / 5 + 32;
		}
		
	public static void Ausgabe() {
		JOptionPane.showMessageDialog(null, Temperatur + "°C sind "
			//+ Temperatur ()
			+ " °F");
		}
		
}
```


----------



## Final_Striker (2. Jan 2010)

vielleicht solltest du noch die ausgabe methode aufrufen, sonst bekommst du ja keine ausgabe. 

tipp:
variablen und methoden schreibt man klein. ;-)


----------



## freez (3. Jan 2010)

> also ich versteh das ganze mit den Methoden nicht so richtig.


gib einer Methode Daten (oder Input), sie bearbeitet alles und gibt dir Daten zurück. So könnte man eine Methode beschreiben:

Beispiel:
Ich habe °C als Wert und will °F als Wert erhalten


```
public double convertCelsius2Fahrenheit(double celsius){
     return (celsius * 9/5) + 32;
}
```

So funktionieren Methoden. Sie übernehmen in Klassen kleine Aufgaben.


----------



## faetzminator (3. Jan 2010)

Final_Striker hat gesagt.:


> variablen und methoden schreibt man klein. ;-)


... schreibt man Camel Case mit beginnendem Kleinbuchstaben (ichBinEineVariable) 
Klassen auch CC mit beginnendem Grossbuchstaben.


----------

