3.1.2 Die do-while-Schleife |
|
Alternative |
Wie am Anfang des Kapitel schon
erwähnt, lassen sich Schleifen in Java auf verschiedene Weisen
realisieren. Wir wollen wieder ein Turtle-Objekt ein Sechseck zeichnen
lassen und dabei die
sog.
do-while-Schleife
kennen lernen. Gleichzeitig begegnet uns eine
noch nicht benutzte Turtle-Methode. |
getOrientation() |
Ein Blick in die Turtle-Dokumentation
bestätigt uns, dass es eine Methode gibt, die es uns erlaubt, die
Orientierung eines Turtle-Objektes zu ermitteln: |
![]() |
|
t.getOrientation() liefert also die Richtung, in der die Turtle t im Moment 'schaut'. |
|
Download: Sechseck2.java |
|
Struktogramm |
![]() |
Syntax | do{ |
Wird die Bedingung erfüllt (der hier
stehende Ausdruck wird zu 'wahr' ausgewertet, wird der Schleifenkörper
erneut durchlaufen. Die Tatsache, dass die Kontrolle über die
Schleife am Ende erfolgt, macht auch verständlich, dass eine
do-while
- Schleife grundsätzlich mindestens einmal durchlaufen wird. |
|
Walter darf beim randomWalk-Tanz die Tanzfläche nicht verlassen |
Ein zweites Beispiel zeigt eine andere
Realisierung einer
do-while
- Schleife. Wie wir noch sehen werden, man müsste
'Verrenkungen' machen um dieses Beispiel in einer
for-Schleife
zu realisieren. Wir verlangen nämlich, dass das
Turtle-Objekt
walter seinen Random-Walk aus dem letzten Kapitel nur solange tanzen darf, bis er an den
Rand der Tanzfläche kommt. Dazu erinnern wir uns, dass das Feld, auf dem
eine Turtle sich bewegen kann einem Koordinatensystem gleicht, dessen x-
und y-Koordianten jeweils von -200 bis 200 reichen und ein
Turtle-Objekt sich
nach ihrer Erzeugung standardmäßig im Koordinatenursprung befindet. Walter
tanz also solange, bis die x- bzw. y-Koordinate des Ortes an dem er sich
nach einem Tanzschritt befindet den Wert 200 oder -200 hat, oder anders
ausgedrückt, er setzt seinen Tanz fort, wenn
(x > -200) && (x < 200) && (y > -200) && (y < 200) wobei x und y die Variablen sind,
in denen die x- bzw. y- Koordianten der Turtle Walter gespeichert sind und
das Zeichen &&
das logische und bezeichnet. |
|
|
Download: RandomWalk. java |
Selbstverständlich muss nach jedem
Schritt die Koordinaten von Walter neu bestimmt werden, wir deklarieren
dazu diese Variablen vor Eintritt in die Schleife und bestimmen nach jedem
Schritt Walters mit den Methoden
getX() und
getY(). Dass eine Realisierung des Programms mit einer for-Schleife ist nicht nur umständlich, es entspräche auch keinem guten Programmierstil. |
zu | 3.1.3 Die while-Schleife |
zur Startseite | www.pohlig.de (C) MPohlig 2006 |