Arbeitsblätter für JavaKara

Kara lernt neue Kommandos

Autor: Horst Gierhardt



Aufgabe: Kara steht vor einem Baum, hinter dem sich ein Kleeblatt befindet. Kara soll um den Baum herumgehen, das Kleeblatt aufnehmen, es einen Schritt weiter ablegen, einen Schritt vorgehen und sich umdrehen (wie auf dem Arbeitsblatt ,,Das erste Java-Programm'').



Das Neue: Kara kann neue Kommandos lernen. In Java nennt man so etwas Methoden. Hier wird gezeigt, wie er die neuen Methoden turnAround() und geheUmBaumHerum() ,,lernt''.



import JavaKaraProgram;

public class KaraLernt extends JavaKaraProgram
{  // Anfang von KaraLernt

  void turnAround()
  {
    kara.turnLeft();
    kara.turnLeft();
  }

  void geheUmBaumHerum()
  {
    kara.turnLeft();
    kara.move();
    kara.turnRight();
    kara.move();
    kara.move();
    kara.turnRight();
    kara.move();
    kara.turnLeft();
  }

  public void myProgram()
  {  // Anfang von myProgram
    this.geheUmBaumHerum();
    kara.removeLeaf();
    kara.move();
    kara.putLeaf();
    kara.move();
    this.turnAround();

  }  // Ende von myProgram

}  // Ende von KaraLernt

Erläuterungen:

  1. Dem Namen einer neuen Methode wird hier das Schlüsselwort void vorangestellt, was im Englischen so viel wie ,,Leere'' bedeutet. Das bedeutet, dass die Methode keinen Wert zurückliefert. Es wird einfach nur etwas getan. Später werden wir Methoden kennen lernen, die einen bestimmten Wert, z.B. die Anzahl der abgelegten Kleeblätter, an das Hauptprogramm zurück liefern.
  2. Hinter jeder Methode steht das Klammerpaar (), was bedeutet, dass die Methode keinen Parameter übergeben bekommt. Später werden wir Methoden kennen lernen, die einen bestimmten Wert, z.B. die Anzahl der abzulegenden Kleeblätter, vom Hauptprogramm als Parameter übergeben bekommt.
  3. In der Mathematik ist das so ähnlich. Lautet die Methode ,,Sinus'', so kann man dieser Methode einen Parameter, z.B. [(p)/2] in Klammern übergeben und bekommt von dieser Methode den Wert 1 zurück geliefert. Im mathematischen Sinne ist diese Methode eine Funktion. Ein Taschenrechner arbeitet in diesem Sinne auch mit Methoden. Er kennt aber auch Methoden ohne einen Rückgabewert, z.B. dann, wenn er einfach die Methode ,,Einschalten'' ausführt.
  4. Der Aufruf this.turnAround() bedeutet, dass die Methode turnAround() zu dieser Klasse gehört. Abkürzend kann man auch einfach turnAround() schreiben.
  5. Kara benutzt auch bei diesem Programm keine Sensoren. Das wird er in der nächsten Lektion machen.