Frage von Jazz2k, 31

Java Hamster Programmierung?

Die Aufgabe in der beigefügten Datei soll erledigt werden, meine unvollständige Programmierung sieht dabei folgendermaßen aus:

void main(){ ausfuehrung(); }

void ausfuehrung(){ if (vornFrei()){ vor(); ausfuehrung(); } else geben(1); linksUm(); ausfuehrung(); }

void geben(int anzahl){ int i; for(i=0; i<anzahl;i++){ if(!maulLeer()){ gib(); } } }

wie kann ich das Programm so schreiben, dass der Hamster jedesmal 1Korn mehr ablegt?

Antwort
von PWolff, 31

In der Aufgabe steht nicht, was passieren soll, wenn der Hamster mehr als 10 Körner in den Backentaschen hat. Soll er dann wieder von vorn anfangen, oder in der nächsten Ecke 5 Körner ablegen etc., oder einfach den Rest behalten?

Nimm eine eigene Variable für die Anzahl von Körnern, die jetzt dran ist. Etwa

int anzahlAbzulegen=1;
while (!maulLeer()) {durchfuehren(anzahlAbzulegen)};

oder

for (int anzahlAbzulegen=1; anzahlAbzulegen<=4; anzahlAbzulegen++) {
durchfuehren(anzahlAbzulegen);
};

oder eine 3. Möglichkeit (Kombination aus der while- und der for-Schleife),

je nachdem, was der Hamster tun soll, wenn er nach der 4. Ecke noch Körner übrig hat.

Übrigens bekomme ich leichte Magenschmerzen, wenn eine Funktion wie ausfuehrung sich selbst aufruft, ohne dass da irgendein sachlicher Grund vorliegt. Dadurch wird für jeden Schritt ein Platz auf dem Aufrufstack belegt, ohne dass es die Aufgabe irgendwie erleichtert oder sie klarer macht - im Gegenteil.

Antwort
von Jazz2k, 23

ich weiss, ehrlich gesagt nicht, wie ich das in meine Programmierung einbauen soll. Habe wie gesagt noch nicht so viele Erfahrung darin. Steht "anzahlAbzugeben" für eine Variabel?

Antwort
von Jazz2k, 26

entschuldigung, bin relativ neu im programmieren und musst mir das alles selber beibringen, ich werde es gleich mal ausprobieren..

was der Hamster im Anschluss machen soll, steht tatsächlich nicht da, aber naja aber erstmal so weit kommen.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten