Nun, ich schrieb etwas Code und alles, was ich tat, war für Schleifen, aber ändern, welche Methode ich angerufen habe. Ich habe versucht, eine for-Schleife zu verwenden, so dass es ein bisschen sauberer wäre (und aus Neugierde, um zu sehen, ob es gemacht werden könnte), aber es kompiliert nicht, wenn ich es so mache, weil es ein Element nicht erkennt ein Array als Methode, denke ich. Das ist, was ich habe:Kann Java Methoden in Arrays speichern?
String[] moveArray = {moveRight,moveDown,moveLeft,moveUp};
for (i = 0; i < 4; i++) {
while (myWumpus.moveArray[i]) {
myWumpus.moveArray[i];
generator.updateDisplay();
}
}
Wenn ich kompilieren versuche ich
bekommennot a statement myWumpus.moveArray[i]();
';' expected myWumpus.moveArray[i]();
(es auf die erste Anweisung in der while-Schleife bezeichnet)
Also, ich denke, es ist vielleicht, weil ich mache ich ein Array vom Typ String? Gibt es eine Art Methode? Ist das überhaupt möglich? Irgendwelche Lösungen willkommen :). Außerdem kann ich es mit 4 While-Loops zum Laufen bringen, so dass Sie mir diese Lösung nicht zeigen müssen. Vielen Dank!
Sehr schöne Erklärung. Ich bleibe jetzt bei den vier Loops, aber wenn es mehr als das ist, werde ich es versuchen! – Paul
Eine Variation verwendet enums. Sie müssen das aufgerufene Objekt über einen Parameter im Methodenaufruf und nicht über den Konstruktor übergeben. –