Turtlegrafik mit Java
HomeAufgabenDruckenJava-Online

Methoden mit Parametern


Methoden können Parameter (auch als Argumente bezeichnet) enthalten, die es ermöglichen, Werte an Methoden zu übergeben. Die Parameter bei der Methodendeklaration müssen wie Variablen einen bestimmten Datentyp besitzen.

Im ersten Beispiel können mit der Methode square(double size) Quadrate mit verschiedenen Seitenlängen gezeichnet werden.
Beim Aufruf der Methode mit square(120), square(90) und square(60 werden die aktuellen Parameterwerte an die Methode square(double size) übergeben und Quadrate mit der Seitelänge 120, 90 und 60 gezeichnet.

 

 

// Tu12a.java

import ch.aplu.turtle.*;

public class  Tu12a
{
  Turtle = new Turtle();

  public Tu12a()
  {
    square(120);
    square(90); 
    square(60); 
  }

  void square(double size)
  {
    for (int = 0; i < 4; i++)
    {
      t.forward(size);
      t.right(90);
    }
  }

  public static void main(String[] args)
  {
    new Tu12a();
  }
}
 

Erklärungen zum Programmcode:

void square(double size) Deklaration der Methode square mit einem formalen Parameter size vom Datentyp double
square(120) Aufruf der Methode mit dem Werteparameter 120 (call-by-value)

 

Mehrere Parameter verwenden:
Methoden können mehrere Parameter besitzen. Die Reihenfolge der Parameter in der Methodendeklaration und dem Methodenaufruf muss übereinstimmen. Im folgenden Beispiel hat die Methode square() zwei Parameter: size vom Typ double und c vom Typ Color.

 

// Tu12b.java

import ch.aplu.turtle.*;
import java.awt.Color;

public class  Tu12b
{
  Turtle = new Turtle();

  public Tu12b()
  {
    t.fillToPoint(0, 0);
    square(120, Color.red);
    square(90, Color.yellow);
    square(60, Color.green);
  }

  void square(double size, Color c)
  {
    t.setPenColor(c);
    for (int = 0; i < 4; i++)
    {
      t.forward(size);
      t.right(90);
    }
  }

  public static void main(String[] args)
  {
    new Tu12b();
  }
}
 
 

Erklärungen zum Programmcode:

void square(double size, Color c) Der formale Parameter size in der Methodendeklaration ist vom Datentyp double, der Parameter c ist vom Typ Color
square(120, Color.red); Aufruf der Methode mit den Parameterwerten 120 und Color.red

 


Parameterwerte als Variablen:
In diesem Beispiel ist s einer Variable, die in der while-Struktur verändert wird. Der Variablenwert wird der Methode square() als aktueller Parameter übergeben.

 

// Tu12.java

import ch.aplu.turtle.*;

public class  Tu12
{
  Turtle = new Turtle();

  public Tu12()
  {
    double = 140;
    while (s > 5)
    {
      square(s);
      t.left(180);
      s = * 0.9; 
    }
  }

  void square(double size)
  {
    for (int = 0; i < 4; i++)
    {
      t.forward(size);
      t.right(90);
    }
  }

  public static void main(String[] args)
  {
    new Tu12();
  }
}
 

Erklärungen zum Programmcode:

void square(double s)
{
    for (int i = 0; i < 4; i++)
    {
      t.forward(s);
      t.right(90);
    }
}

Da der formale Parameter beliebig bezeichnet werden kann, verwendet man oft bei der Methodendeklaration und dem Methodenaufruf den gleichen Bezeichner

Aufgaben