Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
e2:bedingteverzweigungen [2017/09/22 13:49] – admin03 | e2:bedingteverzweigungen [2017/09/22 13:51] (aktuell) – admin03 | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
Nach dem Ausflug in die Geschichte der Programmiersprachen soll nun ein Programm zum Lösen der quadratischen Gleichung | Nach dem Ausflug in die Geschichte der Programmiersprachen soll nun ein Programm zum Lösen der quadratischen Gleichung | ||
- | {{: | + | {{: |
Flussdiagramme und Struktogramme sind Hilfsmittel, | Flussdiagramme und Struktogramme sind Hilfsmittel, | ||
Zeile 28: | Zeile 28: | ||
|== |gleich (zur Unterscheidung vom Zuweisungsoperator =) | | |== |gleich (zur Unterscheidung vom Zuweisungsoperator =) | | ||
|!= |ungleich| | |!= |ungleich| | ||
+ | |||
+ | Mehrere Bedingungen können mit UND oder ODER verknüpft werden | ||
+ | |||
+ | Bedingung1 | ||
+ | Bedingung1 | ||
+ | |||
+ | Jetzt das Programm mit grafischer Oberfläche: | ||
+ | |||
+ | <code JAVA> | ||
+ | public void jButton1_ActionPerformed(ActionEvent evt) | ||
+ | { | ||
+ | double a = Double.parseDouble(jTextField1.getText()) ; | ||
+ | double b = Double.parseDouble(jTextField2.getText()) ; | ||
+ | double c = Double.parseDouble(jTextField3.getText()) ; | ||
+ | |||
+ | if (a == 0) | ||
+ | { | ||
+ | jTextField4.setText(" | ||
+ | jTextField5.setVisible(false) ; | ||
+ | jTextField6.setVisible(false) ; | ||
+ | jLabel5.setVisible(false) ; | ||
+ | jLabel6.setVisible(false) ; | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | double p = b/a ; double q = c/a ; | ||
+ | double d = p*p/4 - q ; | ||
+ | if (d < 0) | ||
+ | { | ||
+ | jTextField4.setText(" | ||
+ | jTextField5.setVisible(false) ; | ||
+ | jTextField6.setVisible(false) ; | ||
+ | jLabel5.setVisible(false) ; | ||
+ | jLabel6.setVisible(false) ; | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | if (d == 0) | ||
+ | { | ||
+ | jTextField4.setText(" | ||
+ | jTextField5.setVisible(true) ; | ||
+ | jTextField6.setVisible(false) ; | ||
+ | jLabel5.setVisible(true) ; | ||
+ | jLabel6.setVisible(false) ; | ||
+ | jTextField5.setText(Double.toString(-p/ | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | jTextField4.setText(" | ||
+ | jTextField5.setVisible(true) ; | ||
+ | jTextField6.setVisible(true) ; | ||
+ | jLabel5.setVisible(true) ; | ||
+ | jLabel6.setVisible(true) ; | ||
+ | jTextField5.setText(Double.toString(-p/ | ||
+ | jTextField6.setText(Double.toString(-p/ | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | Wir verwenden hier eine Methode, die alle Objekte der GUI (Grafische Oberfläche) besitzen: die Methode setVisible(Wert), | ||
+ | |||
+ | Weiterhin verwenden wir hier eine Methode der Klasse Math, nämlich sqrt(Wert). Diese Methode zieht die Wurzel aus einer double-Zahl. Die Klasse Math enthält viele mathematische Funktionen und Konstanten. Sie steht immer zur Verfügung, d.h. es muss nicht ein besonderes package zu Programmbeginn eingebunden werden. | ||
+ | |||
+ | |||
+ | {{: | ||