Das Program soll prüfen, ob die Uhrzeit Vormittag (am) oder Nachmittag (pm) ist. Ich kann das nicht zum Laufen bringen. kann jemand mir helfen?
Java:
classVersuch{publicstaticvoidmain(String[] args){Scanner in =newScanner(System.in);System.out.println("Bitte geben sie eine Uhrzeit ein(hhmm)");String time = in.nextLine();toUS(time);}publicstaticvoidtoUS(String time){if(time.length()==4){int h =Integer.parseInt(time.substring(0,2));if(h >=0&& h <=24){if(h >12){System.out.println("Es ist "+(h %12)+":"+ time.substring(2,4)+" pm");}elseif(h ==12){System.out.println("Es ist "+ h +":"+ time.substring(2,4)+" pm");}elseif(h < 12 && h >0){System.out.println("Es ist "+ h +":"+ time.substring(2,4)+" am");}elseif(h ==0){System.out.println("Es ist "+12+":"+ time.substring(2,4)+" am");}}}}}
classVersuch{publicstaticvoidmain(String[] args){Scanner in =newScanner(System.in);System.out.println("Bitte geben sie eine Uhrzeit ein(hhmm)");String time = in.nextLine();toUS(time);}publicstaticvoidtoUS(String time){if(time.length()==4){int h =Integer.parseInt(time.substring(0,2));if(h >=0&& h <=24){if(h >12){System.out.println("Es ist "+(h %12)+":"+ time.substring(2,4)+" pm");}elseif(h ==12){System.out.println("Es ist "+ h +":"+ time.substring(2,4)+" pm");}elseif(h < 12 && h >0){System.out.println("Es ist "+ h +":"+ time.substring(2,4)+" am");}elseif(h ==0){System.out.println("Es ist "+12+":"+ time.substring(2,4)+" am");}}}}}
Je nachdem was für ein Programm das ist und was du erreichen willst, einfach die entsprechenden Methoden kopieren und pasten... Ich verstehe glaub ich deine Frage nicht richtig
Die Aufgabe lautet folgendermaßen:
Es soll ein Program geschrieben werden, dass die europäische Zeit und Temperaturangaben in das amerikanische Format umwandelt.
Naja, dann füg der Klasse Versuch doch einfach noch ne Methode "toUSTemperatur" hinzu und häng an die main den entsprechenden code zur Temperatureingabe ran. Kannst ja vorher noch abfragen ob ne Zeit oder ne Temperatur umgewandelt werden soll.
nasid, es kennt niemand den zusammenhang. in der aufgabenstellung gibts doch genaue richtlinien wie das programm auszusehen hat, welche rückgaben die methoden geben etc. woher sollen die anderen das denn alles wissen?
nu hast du noch eine...jetzt lies dir nochmal die aufgabenstellung durch und ändere ggf die methoden nochmal so ab, dass sie auch der aufgabe entsprechen, füge hier und da noch kleinigkeiten hinzu und dann hast du es doch schon fast geschafft
:autsch:
es soll ein Programm geschrieben werden, das die europäische Zeit und Temperaturangaben in das amerikanische Format umwandelt. Hierzu muss man beim Programm einen Wert für die Temperatur in Celsius und einen Wert für die Uhrzeit im 24 Stundenformat (hhmm) eingeben können. Mit Hilfe von Methoden sollen folgende Aufgaben erfüllt werden:
-Die main-Methode liest die Werte ein, speichert diese in Attributen und ruft eine Methode zur Ausgabe aus.
-Die Methode zur Ausgabe ruft man ohne Parameter auf. Diese erzeugt sinnvolle Ausgabe der Temperatur in Fahrenheit und Zeitausgabe im 12 Stundenformat durch Aufruf der anderen Methode bze. durch Auslesen der Attribute. Diese Methode liefert keinen Rückgabewert.
-Einer dieser Methoden wird der Wert für die Temperatur in Celsius übergeben. Diese rechnet diesen in Fahrenheit um und gibt den errechneten Wert an die ausrufende Methode zurück.
-Einer weiteren Methode soll der Wert für die Uhrzeit übergeben werden. In dieser Methode wird geprüft, ob die angegebene Zeit Vormittag (am) oder Nachmittag (pm) ist. Diese Methode gibt dann einen logischen Wert z.B. true für Vormittag zurück.
-Der dritten Methode übergibt man die Uhrzeit im 24 Stundenformat, diese wandelt vom 24 in das 12 Stundenformat um und speichert diesen Wert in einem Attribut. Diese Methode liefert keinen Rückgabewert.
geeignete Namen und Datentypen für die Variablen und Methoden sollen gewählt werden
Die beiden Programme habe ich, aber wie mache ich die entsprechend der Aufgabenstellung?
Weiß jetzt nicht was von 12 oder 24 am oder pm ist, aber so z.B.:
Java:
importjava.util.Scanner;classVersuch{privatestaticint _stunde, _minute;privatestaticdouble _temp;privatestaticboolean _ampm;publicstaticvoidmain(String[] args){Scanner in =newScanner(System.in);System.out.println("Bitte geben sie eine Uhrzeit ein(hhmm)");String time = in.nextLine();System.out.println("Bitte geben sie eine Temperatur ein");String temp = in.nextLine();
_stunde =toUStime(Integer.parseInt(time.substring(0,2)));
_minute =Integer.parseInt(time.substring(2,4));
_ampm =ampm(Integer.parseInt(time.substring(0,2)));
_temp =toUStemp(Double.parseDouble(temp));ausgabe();}publicstaticinttoUStime(int stunde){if(stunde==12){return stunde;}else{return stunde%12;}}publicstaticdoubletoUStemp(double celcius){return celcius *9/5+32;}publicstaticbooleanampm(int stunde){if(stunde>12&&stunde<24){returnfalse;}else{returntrue;}}publicstaticvoidausgabe(){System.out.print("Zeit: "+_stunde+" : "+_minute);if(_ampm==true){System.out.println(" am");}else{System.out.println(" pm");}System.out.println("Temperatur: "+_temp);}}
Je nachdem was unter "liest die Werte ein" verstanden werden soll kannst du in den globalen Variablen natürlich auch die Eingabestrings speichern und erst in der Methode ausgabe parsen.