Script Java

Script Java Script Java

29.01.2014 Aufrufe

3.1 int, boolean und Programmstrukturen Damit man in der graphischen Benutzeroberfläche ausgeben kann, wieviele Fehler der Benutzer gemacht hat, braucht es die Anweisungen 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!"); Hier findet man ein if-else-statement, das in seinem else-Teil wiederum ein if-elsestatement aufweist. Zuerst wird geprüft, ob der Benutzer keine Fehler gemacht hat. Falls dem so ist, wird in der graphischen Benutzeroberfläche der String „All answers are correct!“ angezeigt. Wenn errorCount jedoch nicht gleich Null ist, wird untersucht, ob errorCount gleich eins ist. Bei Zutreffen wird der Text „There is one error!“ ausgegeben. Falls errorCount aber nicht gleich eins ist, muss er grösser gleich zwei sein, der String „There are x errors!“ wird angezeigt, wobei x die konkrete Anzahl der Fehler ist 1 . Wählt der Benutzer den Button NEXT, kommen die folgenden Programmzeilen zum Tragen: number.nextValue(); message.setText("Check if "+number.toString()); odd.setState(false); sameDigits.setState(false); square.setState(false); Der Instanzvariablen value des Objekts number wird nun eine neue Zufallszahl zwischen 1 und 99 zugewiesen und der Benutzer wird erneut aufgefordert, die Eigenschaften der Zahl anzugeben. Mit Hilfe der Methode setState() kann man nun willentlich den Zustand einer Checkbox angeben: false setzt sie auf „nicht selektiert“. Der Button CHECK schlussendlich bewirkt die Ausführung der folgenden Anweisungen: message.setText(number.toString()+" has the properties"); odd.setState(number.isOdd()); sameDigits.setState(number.hasSameDigits()); square.setState(number.isASquare()); Nun werden die Checkboxes entsprechend dem Resultat der Methodenaufrufe isOdd(), hasSameDigits() und isASquare() gesetzt. Siehe auch: 3.1.2.10, 3.1.2.13 1 Der ‘+’-Operator hat hier nichts mit der arithmetischen Addition zu tun; sind seine Operanden Strings, bewirkt er deren Concatenation (siehe Abschnitt 2.1.1.5 und 4.1.1.4). Es ist ebenfalls zu beachten, dass im Ausdruck "There are "+errorCount der Wert der Variablen errorCount automatisch zu einem String konvertiert wird, da einer der Operanden, nämlich "There are ", bereits ein String ist. 78

3.1 int, boolean und Programmstrukturen 3.1.1.12 switch statement In der Methode actionPerformed() könnte man die Zeilen 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!"); ohne Konsequenzen durch die folgenden ersetzen: switch (errorCount) { case 0: message.setText("All answers are correct!"); break; case 1: message.setText("There is one error!"); break; default:message.setText("There are "+errorCount+" errors!"); } Ein sogenanntes switch statement ermöglicht die Auswahl auszuführender Anweisungen in Abhängigkeit vom Wert eines Ausdrucks. Im Beispiel wird der Wert der lokalen Variablen errorCount untersucht, er steht in runden Klammern nach dem Schlüsselwort switch. Weist er den Wert 0 auf, wird die Anweisung message.setText("All answers are correct!") ausgeführt. Ist er Eins, erfolgt die Ausgabe von „There is one error!“. Ansonsten wird der Text „There are x errors!“ angezeigt, wobei x die Anzahl der Fehler angibt. Nach dem Schlüsselwort case steht also ein Wert, welcher errorCount annehmen kann. Nach dem Doppelpunkt folgen die auszuführenden Anweisungen, welche aufgerufen werden, falls errorCount den besagten Wert aufweist. Die nach dem Schlüsselwort default stehenden Anweisungen werden aufgerufen, falls keiner der durch die Schlüsselwörter case bezeichneten Werte zutrifft. Da ein switch statement im Prinzip den Einstieg in eine Programmsequenz in Abhängigkeit von einem Wert realisiert, werden, sobald ein case statement zutrifft, sämtliche nachfolgenden Anweisungen ausgeführt (siehe Abbildung 3-9). Um dies zu verhindern, muss man das Schlüsselwort break verwenden: Es bewirkt, dass das switch statement verlassen wird (siehe Abbildung 3-10). 79

3.1 int, boolean und Programmstrukturen<br />

3.1.1.12 switch statement<br />

In der Methode actionPerformed() könnte man die Zeilen<br />

if (errorCount==0)<br />

message.setText("All answers are correct!");<br />

else if (errorCount==1)<br />

message.setText("There is one error!");<br />

else<br />

message.setText("There are "+errorCount+" errors!");<br />

ohne Konsequenzen durch die folgenden ersetzen:<br />

switch (errorCount) {<br />

case 0: message.setText("All answers are correct!"); break;<br />

case 1: message.setText("There is one error!"); break;<br />

default:message.setText("There are "+errorCount+" errors!");<br />

}<br />

Ein sogenanntes switch statement ermöglicht die Auswahl auszuführender Anweisungen<br />

in Abhängigkeit vom Wert eines Ausdrucks.<br />

Im Beispiel wird der Wert der lokalen Variablen errorCount untersucht, er steht in<br />

runden Klammern nach dem Schlüsselwort switch. Weist er den Wert 0 auf, wird die<br />

Anweisung message.setText("All answers are correct!") ausgeführt. Ist<br />

er Eins, erfolgt die Ausgabe von „There is one error!“. Ansonsten wird der Text „There are<br />

x errors!“ angezeigt, wobei x die Anzahl der Fehler angibt.<br />

Nach dem Schlüsselwort case steht also ein Wert, welcher errorCount annehmen<br />

kann. Nach dem Doppelpunkt folgen die auszuführenden Anweisungen, welche aufgerufen<br />

werden, falls errorCount den besagten Wert aufweist. Die nach dem Schlüsselwort<br />

default stehenden Anweisungen werden aufgerufen, falls keiner der durch die<br />

Schlüsselwörter case bezeichneten Werte zutrifft.<br />

Da ein switch statement im Prinzip den Einstieg in eine Programmsequenz in<br />

Abhängigkeit von einem Wert realisiert, werden, sobald ein case statement zutrifft,<br />

sämtliche nachfolgenden Anweisungen ausgeführt (siehe Abbildung 3-9). Um dies zu<br />

verhindern, muss man das Schlüsselwort break verwenden: Es bewirkt, dass das switch<br />

statement verlassen wird (siehe Abbildung 3-10).<br />

79

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!