Document

A5 Variablen – Langzeit- und Kurzzeitgedächtnis; Zählschleifen
Frösche haben ein Gedächtnis. Sie können sich zum Beispiel merken, wie viele Fliegen sie
gefressen haben. Die Anzahl ist in der Variable vertilgteFliegen gespeichert.
Variablen müssen deklariert werden, dazu wird ihr Typ angegeben und entschieden, ob sie
private oder public sind, z.B. private int vertilgteFliegen;
Werden Variablen am Klassenanfang (vor den Methodendeklarationen) deklariert, so ist sie
(beziehungsweise der Wert der Variablen) in jeder Methode verfügbar. Man nennt sie globale
Variablen. Wird eine Variable dagegen in einer Methode deklariert, so ist sie nur so lange
verfügbar, wie die Methode ausgeführt wird. Sie wird lokale Variable genannt.
Variablen können Werte zugewiesen bekommen, z.B. vertilgteFliegen=0; .Mit dem
Gleichheitszeichen wird hier ein Wert zugewiesen. Will man dagegen einen Wert mit einem
anderen vergleichen (zum Beispiel in einer Bedingung), so benötigt man zwei
Gleicheitszeichen. (z.B. if(vertilgteFliegen==5){…}).
Oft wird in Java abkürzend Variablendeklaration und die erste Wertbelegung
zusammengefasst z.B. int vertilgteFlien=0;
Mit vertilgteFliegen=vertilgteFliegen+1; wird der Wert um 1 erhöht. (Der neue Wert
ist der alte Wert plus 1). Kurzform in Java: vertilgteFliegen++;)
Aufgabe 9:
a) Ein Frosch, der schon 10 Fliegen gefressen hat, ist satt und frisst nichts mehr. Ändern Sie
die Methode frissFliege() so ab, dass der Frosch nur dann frisst, wenn er noch keine 10
Fliegen gefressen hat.
b) Die Frösche sollen sich merken, wie viele Sprünge sie (insgesamt) bereits gehüpft sind.
Die Anzahl soll mit Hilfe einer Methode gehuepfteSpruenge() erfragt werden können.
Tipp: Wie man eine Methode mit Rückgabewert schreibt, kann man auf dem Blatt
„Methoden und Konstruktoren“ nachlesen. Beispiele findet man im Frosch-Szenario.
Zählschleifen
Wenn man weiß, wie oft etwas ausgeführt werden soll, kann man auch Zählschleifen
verwenden: Mit
for(int i=0;i<7;i=i+1){
huepf();
}
huepf() sieben mal wiederholt.
wird
Hierbei wird die Variable i nur für Zählschleife deklariert und steht danach nicht mehr zur
Verfügung. Im Anweisungsteil der Schleife könnte sie allerdings verwendet werden.
Aufgabe 10:
Schreiben Sie die Methode rechteck(), mit der ein Frosch im Rechteck hüpft: drei Felder
vor, vier Felder hoch,…
Gehen sie wieder zur Vereinfachung davon aus, dass kein Hindernis im Weg ist.
Tipp: Mit einem zusätzlichen Objekt der Klasse Greenfoot, das in dieser Methode erzeugt
wird, kann man die Zeit verzögern, so dass man den Frosch hüpfen sieht:
Greenfoot gf=new Greenfoot();
…
gf.delay(20);