JOptionPane

nasid

Mitglied
das unten stehende Program muss umändern, und zwar ich muss in dem Programm JOption Klasse einfügen und Scanner Klasse wegmachen. Und in der Zeile 56 bis 59 die Sachen in die Ausgabe irgendwie schreiben. Kann mir jemand bitte helfen?


[JAVA=42]import swing.JOptionPane;

class versuchen{

public static int _stunde, _minute;
public static double _temp;
public static boolean _ampm;

public static void main(String[] args) {
Scanner in = new Scanner(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();
}


public static int toUStime(int stunde){
if(stunde==12){
return stunde;
}
else{
return stunde%12;
}
}

public static double toUStemp(double celcius) {
return celcius * 9 / 5 + 32;
}

public static boolean ampm(int stunde){
if(stunde>12&&stunde<24){
return false;
}
else{
return true;
}
}

public static void ausgabe(){
System.out.print("Zeit: "+_stunde+" : "+_minute);
if(_ampm==true){
System.out.println(" am");
}
else{
System.out.println(" pm");
}

System.out.println("Temperatur: "+_temp);
}


}
[/code]
 
Zuletzt bearbeitet von einem Moderator:

ashanti

Mitglied
Hi,
hört sich schwer nach Hausaufgabe an...:rtfm:

Java:
private void informationMessage(String nachrichtentext, String rahmen)
		{
			JOptionPane.showMessageDialog(null, nachrichtentext, rahmen, JOptionPane.INFORMATION_MESSAGE);
		}
(aus meinem code)

kannst auch noch mit getter- uns setter-Methoden arbeiten.

gruß
 

nasid

Mitglied
nein. es soll JOptionPane.showInputDialog und showMessageDialog benutzt werden. Aber wie kann ich diese Sachen auch in dem Programm einfügen, statt Scanner
 

icarus2

Top Contributor
Hier sollte doch alles stehen in der API:

JOptionPane API

Als Tipp:
Sehr ähnlich wie der Code oberndran, eigentlich fast gleich. Schau dir einfach mal die beiden statischen Methoden, die du gebrauchen musst, an.
 

partsch

Aktives Mitglied
So ließt du mit JOptionPane ein
Java:
String answer = JOptionPane.showInputDialog("Bitte geben sie eine Uhrzeit ein (hh");
			stunde = toUsTime(Integer.parseInt(answer.substring(0,1)));
			minute = Integer.parseInt(answer.substring(2,4));
		answer = JOptionPane.showInputDialog("Geben sie Bitte einen beliebigen temperatur-Wert ein!");
			temp = toUsTemp(Double.parseDouble(answer));
			amp = !(stunde > 12 && stunde <=24); // wenn es true ist ist es am andernfalls pm
			
		ausgeben();
 

icarus2

Top Contributor
Nur so als kleines Beispiel:

[Java]
import javax.swing.JOptionPane;


public class InputDialogExample {

public static void main(String[] args) {


String input = JOptionPane.showInputDialog(null, "Enter the input");

System.out.println(input);

}

}
[/Java]

Die API enthält alle Methoden, die in den im Standardpaket enthaltenen Klassen vorhanden sind. Da findest du Informationen über die Methoden, die du brauchst. Schaus dir mal an.
 

partsch

Aktives Mitglied
hier der ganze code sry

Java:
import javax.swing.*;


public class Versuch{
	private static int 		stunde,minute;
	private static double 	temp;
	private static boolean 	amp;
	
	public static void main(String[]args){
		String answer = JOptionPane.showInputDialog("Bitte geben sie eine Uhrzeit ein (hh");
			stunde = toUsTime(Integer.parseInt(answer.substring(0,1)));
			minute = Integer.parseInt(answer.substring(2,4));
		answer = JOptionPane.showInputDialog("Geben sie Bitte einen beliebigen temperatur-Wert ein!");
			temp = toUsTemp(Double.parseDouble(answer));
			amp = !(stunde > 12 && stunde <=24); // wenn es true ist ist es am andernfalls pm
			
		ausgeben();
	}
	
	public static int toUsTime(int standartTime){
		if(standartTime <= 12 && standartTime > 0)
			return 12;
		else{
			if(standartTime < 0)
				throw new IllegalArgumentException("Zeit muss > 0 sein !");
			else{
				if(standartTime <= 24){
					return standartTime%12;
				}else{
					throw new IllegalArgumentException("Zeit muss <= 24 sein!");
				}
			}
		}
	}
	
	public static double toUsTemp(double cel){
		return cel * 9 / 5 + 32;
	}
	
	public static void ausgeben(){
		System.out.println("Daten:");
		System.out.printf("Zeit: (US) %d : %d %s || Temperator: (F) %s",stunde,minute,(amp)?"am":"pm",temp);
	}
}
 

icarus2

Top Contributor
Zeig mal deinen Code ;-)

Du musst das von parsch natürlich noch in eine Methode schreiben und die entsprechenden Klassen importieren.

*Edit:
Jo, oben ist ja schon die Lösung ^^
 

nasid

Mitglied
ich kenne dieses illegal und so nicht. Geht das nicht ohne das. ich brauche einfach JOptionPane.showInpugDialog und JOptionPane.showMessageDialog. Und es dürfen nicht viele Sachen geändert werden.
 

Oben