# Ganzzahlen durch Selektion in einer Dialogbox ausgeben



## Lestas89 (7. Apr 2016)

Hallo 

Folgende Aufgabe:

"Lesen Sie zwei Ganzzahlen ein". Das ist kein Problem, das kann ich mit JOptionPane.showInputDialog machen. Nun steht da: "Geben Sie anschließend durch Selektion die größere von beiden in einer Dialogbox aus". Gibt es dafür eine eigene Methode?

Danke im Voraus


----------



## Joose (7. Apr 2016)

Der JOptionPane ist nicht nur dazu da um Daten abzufragen 
https://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html


----------



## Lestas89 (7. Apr 2016)

Halloe Joose,

danke für deine schnelle Antwort. Das ist aber sehr sehr viel was du mir dort geschickt hast. Welche Methode muss ich verwenden?


----------



## Joose (7. Apr 2016)

Sorry, aber das gehört nun mal zum Programmieren dazu -> sich in Dokumentation einlesen 

Ganz oben gibt es kleine Tabelle in welcher 4 unterschiedliche Methoden gezeigt werden und wofür sie gut sind.


----------



## Lestas89 (7. Apr 2016)

Ist das schonmal der richtige Weg?

Ich bekomme hier aber eine Fehlermeldung:


```
import javax.swing.JOptionPane;

public class Test4{
    public static void main(String []args){
        String A = JOptionPane.showInputDialog("Geben Sie eine Ganzzahl ein:");
        String B = JOptionPane.showInputDialog("Geben Sie erneut eine Ganzzahl ein:");
       
        JOptionPane.showOptionDialog(null, "Dies ist ein Optionsdialog","Optionsdialog",
                JOptionPane.YES_NO_CANCEL_OPTION,
                JOptionPane.WARNING_MESSAGE, null,
                new String[]{"A", "B"});
       
    }
}
```


----------



## Joose (7. Apr 2016)

Ja.
Aber ich würde statt `showOptionDialog` einfach `showMessageDialog` verwenden
https://docs.oracle.com/javase/7/do...eDialog(java.awt.Component, java.lang.Object)

Außerdem übergibst du ein String[] mit den Werten A und B, nicht mit dem Inhalt deiner beiden Variablen!


----------



## Lestas89 (7. Apr 2016)

Hallo Joose,
die Methode showMessageDialog kenn ich, jedoch weiß ich nicht wie ich das hier implementieren soll. Kannst du mir da auf die Sprünge helfen? Ich habe den Rest nun gelöscht und mein Programm runtergebrochen auf einfach:


```
import javax.swing.JOptionPane;

public class Test4{
    public static void main(String []args){
        String ersteEingabe = JOptionPane.showInputDialog("Geben Sie eine Ganzzahl ein:");
        String zweiteEingabe = JOptionPane.showInputDialog("Geben Sie erneut eine Ganzzahl ein:");
  
    }

   
}
```

Wie kann ich das nun mit showMessageDialog machen?


----------



## Joose (7. Apr 2016)

```
...
int biggerNumber = ....

JOptionPane.showMessageDialog(null, "Die größere Zahl ist: " + biggerNumber);
```


----------



## Joose (7. Apr 2016)

Die beiden Eingabe in eine Zahl umwandeln und die beiden Zahlen vergleichen musst du halt auch noch.


----------



## Lestas89 (7. Apr 2016)

Danke, aber ich verstehe nicht wie ich die größere ausgeben soll. Da muss doch bestimmt noch ein Code zwischen oder nicht?

Edit: Ich probier es und melde mich nochmal


----------



## Lestas89 (7. Apr 2016)

So ich bin nun fertig:

Ist das so richtig?


```
import javax.swing.JOptionPane;

public class Test4{
    public static void main(String []args){
        String ersteEingabe = JOptionPane.showInputDialog("Geben Sie eine Ganzzahl ein:");
        String zweiteEingabe = JOptionPane.showInputDialog("Geben Sie erneut eine Ganzzahl ein:");
       
        int a = Integer.parseInt(ersteEingabe);
        int b = Integer.parseInt(zweiteEingabe);
       
        if(a > b){
        JOptionPane.showMessageDialog(null,a);
        }
        if (b > a){
        JOptionPane.showMessageDialog(null,b);
            }
           
        }   
    }
```

Eine Frage hätte ich aber noch: Mit else if hat das nicht funktioniert, woran liegt das?


----------



## Joose (7. Apr 2016)

"nicht funktioniert" ist keine Fehlerbeschreibung.
Was ist passiert? Hast du gar keine Ausgabe bekommen? Hat das Programm gar nicht kompiliert?


----------



## Lestas89 (7. Apr 2016)

Was das else if betrifft habe ich meinen Fehler gefunden 
Ist der obige Code so richtig?


----------



## Joose (7. Apr 2016)

Macht der Code das was du willst? Deckt der Code die Aufgabenstellung ab? Dann wird es wohl passen.


----------



## Lestas89 (7. Apr 2016)

Ich bekomme die größere Zahl ausgegeben. Also wird es wohl passen


----------



## VfL_Freak (7. Apr 2016)

Moin,

und was passiert bei 'a == b'  ???

Gruß Klaus


----------



## Lestas89 (7. Apr 2016)

Daran hab ich nicht gedacht!


----------

