Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| e2:bedingteverzweigungen [2017/09/22 13:49] – angelegt 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 22: | Zeile 22: | ||
| Wir listen hier noch alle Vergleichsoperatoren auf, die in einer boolean-Expression vorkommen können: | Wir listen hier noch alle Vergleichsoperatoren auf, die in einer boolean-Expression vorkommen können: | ||
| - | < |kleiner | + | |< |kleiner |
| - | <= |kleiner gleich | + | |<= |kleiner gleich |
| - | > |größer | + | |> |größer |
| - | >= |größer gleich | + | |>= |größer gleich| |
| - | == |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. | ||
| + | |||
| + | |||
| + | {{: | ||