Java Reference
In-Depth Information
void fuenfVor() {
int schritte = 0;
while ((schritte < 5) && vornFrei()) {
vor();
schritte++;
}
}
void sechsVor() {
int schritte = 0;
while ((schritte < 6) && vornFrei()) {
vor();
schritte++;
}
}
void siebenVor() {
int schritte = 0;
while ((schritte < 7) && vornFrei()) {
vor();
schritte++;
}
}
Wenn Sie sich die Prozeduren genauer anschauen, werden Sie feststellen, dass sie sich jeweils nur
an einer einzigen Stelle unterscheiden. Lediglich der rechte Operand des Vergleichsausdrucks in
der Schleifenbedingung ist von Prozedur zu Prozedur verschieden. Der Wert dieses Operanden ent-
spricht dabei genau der maximalen Anzahl an Schritten, die der Hamster ausführen soll.
Um sich u.a. viel Schreibaufwand zu sparen, wäre es doch viel eleganter, eine Prozedur nVor zu
definieren, bei deren Aufruf der Hamster n Felder nach vorne laufen wird, wobei n ein positiver
int-Wert ist, der der Prozedur zur Laufzeit übergeben wird:
void nVor() {
<erwarte einen int-Wert n>
int schritte = 0;
while ((schritte < n) && vornFrei()) {
vor();
schritte++;
}
}
void main() {
nVor(); <und teile der Prozedur für n den Wert 5 mit>
nVor(); <und teile der Prozedur für n den Wert 6 mit>
nVor(); <und teile der Prozedur für n den Wert 23 mit>
}
Eine derartige Flexibilität bei der Definition und dem Aufruf von Prozeduren und Funktionen bringt
das Parameterkonzept mit sich.
Search WWH ::




Custom Search