# JOptionPane



## nasid (17. Dez 2009)

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]


----------



## ashanti (17. Dez 2009)

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


```
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 (17. Dez 2009)

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


----------



## icarus2 (17. Dez 2009)

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.


----------



## nasid (17. Dez 2009)

icarus, ich weiß nicht, was du meinst


----------



## Ebenius (17. Dez 2009)

Hab das Thema mal verschoben nach:
*Hausaufgaben*
_Wir machen keine Hausaufgaben, aber wir helfen dabei_​Ebenius


----------



## partsch (17. Dez 2009)

So ließt du mit JOptionPane ein

```
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 (17. Dez 2009)

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.


----------



## nasid (17. Dez 2009)

partsch, 15 Fehler zeigt der an


----------



## partsch (17. Dez 2009)

hier der ganze code sry 


```
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 (17. Dez 2009)

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 (17. Dez 2009)

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.


----------



## partsch (17. Dez 2009)

kannst es ja einfach auskommentieren^^ und die messageDialoge hinzufügen


----------

