Script Java
Script Java Script Java
3.1 int, boolean und Programmstrukturen int errorCount=0; if (odd.getState()^number.isOdd()) errorCount++; if (sameDigits.getState()^number.hasSameDigits()) errorCount++; if (square.getState()^number.isASquare()) errorCount++; if (errorCount==0) message.setText("All answers are correct!"); else if (errorCount==1) message.setText("There is one error!"); else message.setText("There are "+errorCount+" errors!"); ausgeführt. Liefert die Bedingung aber false, werden die obigen Anweisungen übersprungen. Falls ein else statement folgt, wird mit der Interpretation bei diesem fortgesetzt, ansonsten die Methode verlassen. Abbildung 3-7 veranschaulicht dies anhand eines Flussdiagramms. if if Expression? true Statements Expression? true Statements false false Ende else Statements Ende Abbildung 3-7: if statement ohne (links) und mit else Anweisung (rechts) In obigem Programm hat es nun ein else statement. Nach diesem folgt aber wiederum ein if mit einem else statement. 74
3.1 int, boolean und Programmstrukturen else if (event.getActionCommand().equals("NEXT")) { number.nextValue(); message.setText("Check if "+number.toString()); odd.setState(false); sameDigits.setState(false); square.setState(false); } else if (event.getActionCommand().equals("CHECK")) { message.setText(number.toString()+" has the properties"); odd.setState(number.isOdd()); sameDigits.setState(number.hasSameDigits()); square.setState(number.isASquare()); } Man hat also die Möglichkeit, mehrere if-/else Anweisungen ineinander zu verschachteln. Dabei kann die Verschachtelungstiefe beliebig tief sein. Im obigen Programmauszug überprüft das erste if, ob der Button NEXT aktiviert wurde. Falls dies zutrifft, werden die Anweisungen number.nextValue(); message.setText("Check if "+number.toString()); odd.setState(false); sameDigits.setState(false); square.setState(false); ausgeführt, ansonsten wird zum zugehörigen else statement gewechselt: else if (event.getActionCommand().equals("CHECK")) Hier trifft man erneut auf ein if statement, dieses Mal aber ohne else statement. In der if Anweisung wird wieder abgefragt, ob der Button CHECK aktiviert wurde. Bei Zutreffen werden die Anweisungen message.setText(number.toString()+" has the properties"); odd.setState(number.isOdd()); sameDigits.setState(number.hasSameDigits()); square.setState(number.isASquare()); aufgerufen, ansonsten wird die Methode actionPerformed() verlassen. Die bedingten Anweisungen in der Methode actionPerformed() untersuchen also, welcher Button in der graphischen Benutzeroberfläche aktiviert wurde, um dann entsprechend zu reagieren. Wurde keiner der Buttons gedrückt, geschieht nichts. Siehe auch: 3.1.2.18 3.1.1.11 Logische Operatoren und arithmetischer Inkrement-/Dekrement-Operator Dringen wir nun tiefer in die Methode actionPerformed() ein. Wird durch den Benutzer der Button DONE aktiviert, so werden die Anweisungen 75
- Seite 23 und 24: 2.1 Programmaufbau, Attribute und M
- Seite 25 und 26: 2.1 Programmaufbau, Attribute und M
- Seite 27 und 28: 2.1 Programmaufbau, Attribute und M
- Seite 29 und 30: 2.1 Programmaufbau, Attribute und M
- Seite 31 und 32: 2.1 Programmaufbau, Attribute und M
- Seite 33 und 34: 2.1 Programmaufbau, Attribute und M
- Seite 35 und 36: 2.1 Programmaufbau, Attribute und M
- Seite 37 und 38: 2.2 Checkbox } } place(familyName=n
- Seite 39 und 40: 2.3 Vererbung, Konstruktor und Rede
- Seite 41 und 42: 2.3 Vererbung, Konstruktor und Rede
- Seite 43 und 44: 2.3 Vererbung, Konstruktor und Rede
- Seite 45 und 46: 2.3 Vererbung, Konstruktor und Rede
- Seite 47 und 48: 2.3 Vererbung, Konstruktor und Rede
- Seite 49 und 50: 2.3 Vererbung, Konstruktor und Rede
- Seite 51 und 52: 2.4 Instanzvariablen und Klassenvar
- Seite 53 und 54: 2.4 Instanzvariablen und Klassenvar
- Seite 55 und 56: 2.5 Zusammenfassung Im Gegensatz da
- Seite 57 und 58: 3.1 int, boolean und Programmstrukt
- Seite 59 und 60: 3.1 int, boolean und Programmstrukt
- Seite 61 und 62: 3.1 int, boolean und Programmstrukt
- Seite 63 und 64: 3.1 int, boolean und Programmstrukt
- Seite 65 und 66: 3.1 int, boolean und Programmstrukt
- Seite 67 und 68: 3.1 int, boolean und Programmstrukt
- Seite 69 und 70: 3.1 int, boolean und Programmstrukt
- Seite 71 und 72: 3.1 int, boolean und Programmstrukt
- Seite 73: 3.1 int, boolean und Programmstrukt
- Seite 77 und 78: 3.1 int, boolean und Programmstrukt
- Seite 79 und 80: 3.1 int, boolean und Programmstrukt
- Seite 81 und 82: 3.1 int, boolean und Programmstrukt
- Seite 83 und 84: 3.1 int, boolean und Programmstrukt
- Seite 85 und 86: 3.1 int, boolean und Programmstrukt
- Seite 87 und 88: 3.1 int, boolean und Programmstrukt
- Seite 89 und 90: 3.1 int, boolean und Programmstrukt
- Seite 91 und 92: 3.1 int, boolean und Programmstrukt
- Seite 93 und 94: 3.1 int, boolean und Programmstrukt
- Seite 95 und 96: 3.1 int, boolean und Programmstrukt
- Seite 97 und 98: 3.1 int, boolean und Programmstrukt
- Seite 99 und 100: 3.1 int, boolean und Programmstrukt
- Seite 101 und 102: 3.1 int, boolean und Programmstrukt
- Seite 103 und 104: 3.1 int, boolean und Programmstrukt
- Seite 105 und 106: 3.2 Unicode und char } } textArea.a
- Seite 107 und 108: 3.2 Unicode und char Farben sind in
- Seite 109 und 110: 3.2 Unicode und char for (int i=0;i
- Seite 111 und 112: 3.3 Zusammenfassung Beschreibung We
- Seite 113 und 114: 4.1 Strings 4Strings Komplexe Daten
- Seite 115 und 116: 4.2 Einfache versus komplexe Datent
- Seite 117 und 118: 4.2 Einfache versus komplexe Datent
- Seite 119 und 120: 4.3 Type Casting Will man aber zwei
- Seite 121 und 122: 4.3 Type Casting 4.3.1.3 Datentyp b
- Seite 123 und 124: 4.4 Zusammenfassung 4.4 Zusammenfas
3.1 int, boolean und Programmstrukturen<br />
else if (event.getActionCommand().equals("NEXT")) {<br />
number.nextValue();<br />
message.setText("Check if "+number.toString());<br />
odd.setState(false);<br />
sameDigits.setState(false);<br />
square.setState(false);<br />
} else if (event.getActionCommand().equals("CHECK")) {<br />
message.setText(number.toString()+" has the properties");<br />
odd.setState(number.isOdd());<br />
sameDigits.setState(number.hasSameDigits());<br />
square.setState(number.isASquare());<br />
}<br />
Man hat also die Möglichkeit, mehrere if-/else Anweisungen ineinander zu verschachteln.<br />
Dabei kann die Verschachtelungstiefe beliebig tief sein.<br />
Im obigen Programmauszug überprüft das erste if, ob der Button NEXT aktiviert wurde.<br />
Falls dies zutrifft, werden die Anweisungen<br />
number.nextValue();<br />
message.setText("Check if "+number.toString());<br />
odd.setState(false);<br />
sameDigits.setState(false);<br />
square.setState(false);<br />
ausgeführt, ansonsten wird zum zugehörigen else statement gewechselt:<br />
else if (event.getActionCommand().equals("CHECK"))<br />
Hier trifft man erneut auf ein if statement, dieses Mal aber ohne else statement. In der if<br />
Anweisung wird wieder abgefragt, ob der Button CHECK aktiviert wurde. Bei Zutreffen<br />
werden die Anweisungen<br />
message.setText(number.toString()+" has the properties");<br />
odd.setState(number.isOdd());<br />
sameDigits.setState(number.hasSameDigits());<br />
square.setState(number.isASquare());<br />
aufgerufen, ansonsten wird die Methode actionPerformed() verlassen.<br />
Die bedingten Anweisungen in der Methode actionPerformed() untersuchen also,<br />
welcher Button in der graphischen Benutzeroberfläche aktiviert wurde, um dann<br />
entsprechend zu reagieren. Wurde keiner der Buttons gedrückt, geschieht nichts.<br />
Siehe auch: 3.1.2.18<br />
3.1.1.11 Logische Operatoren und arithmetischer Inkrement-/Dekrement-Operator<br />
Dringen wir nun tiefer in die Methode actionPerformed() ein. Wird durch den<br />
Benutzer der Button DONE aktiviert, so werden die Anweisungen<br />
75