erstellt 04.06.03; übersetzt 24.06.03; überarbeitet 14.02.05; © Copyright 2003 - 2005 Deutsche Übersetzung Heinrich Gailer


Kapitel 48 Programmieraufgaben


Diese Aufgaben erzeugen eine Klasse Gewicht, die ein Array der Gewichtsmessungen einer Person enthält, aufgenommen an aufeinanderfolgenden Tagen eines Monats.

Aufgabe 1 — Konstruktor und Ausgabe

Vervollständigen Sie den Konstruktor in dem folgenden Programm, so dass er ein Array daten konstruiert, und dann die Werte des Parameters init nach daten kopiert.

Vervollständigen Sie dann die ausgeben() Methode. Wenn Sie möchten, schreiben Sie sie so, dass sie sieben Werte in einer Zeile ausgibt mit Ausnahme der letzten Zeile.

class Gewicht
{
  int[] daten;

  // Konstruktor
  Gewicht(int[] init)
  {
    // konstruiert ein Array mit der gleichen Länge
    // wie das durch init referenzierte.
    daten = new ....

    // kopiert die übergebenen Werte
    // nach daten.
    for (int j.....)
    {
      daten[j] =
    }
  }

  //Ausgabe
  void ausgeben()
  {
    for (int j.....)
    {
      System.out.println();
    }
  }

  public static void main ( String[] args )
  {
    int[] werte = { 98,  99,  98,  99, 100, 101, 102, 100, 104, 105,
                    105, 106, 105, 103, 104, 103, 105, 106, 107, 106,
                    105, 105, 104, 104, 103, 102, 102, 101, 100, 102};
    Gewicht juni = new Gewicht( werte );
    juni.ausgeben();
  }
}

Zurück zum Inhaltsverzeichnis.


Aufgabe 2 — Durchschnitt

Fügen Sie jetzt der Klasse eine durchschnitt() Methode hinzu. Verwenden Sie Integerarithmetik.

class Gewicht
{
  . . .

  int durchschnitt()
  {
    . . .
  }

  public static void main ( String[] args )
  {
    int[] werte = { 98,  99,  98,  99, 100, 101, 102, 100, 104, 105,
                    105, 106, 105, 103, 104, 103, 105, 106, 107, 106,
                    105, 105, 104, 104, 103, 102, 102, 101, 100, 102};

    Gewicht juni     = new Gewicht( werte );
    int durchschnitt = juni.durchschnitt();
    System.out.println("Durschnitt = " + durchschnitt );
  }
}

Um Ihre Methode zu überprüfen, initialisieren Sie das Array mit 10 Werten, die einen leicht zu berechnenden Durchschnitt ergeben.

Zurück zum Inhaltsverzeichnis.


Aufgabe 3 — Teilbereich von Tagen

Fügen Sie jetzt eine weitere Methode hinzu, die den Durchschnitt für einen Teilbereich von Tagen berechnet. Die Signatur der Methode sieht so aus:

int subDurchschnitt( int start, int ende );

Machen Sie den Bereich inklusive, das heißt, addieren Sie alle Tage von start bis inklusive ende. Sie werden das wahrscheinlich falsch verstehen. Überprüfen Sie Ihre Ergebnisse, debuggen Sie dann Ihre Methode.

Verwenden Sie diese Methode in main(), um den Durchschnitt der ersten Hälfte des Monats und dann den der zweiten Hälfte des Monats zu berechnen. Geben Sie sowohl die beiden Durchschnittswerte als auch die Differenz zwischen ihnen aus. Wenn der Monat eine ungerade Zahl an Tagen hat, übernehmen Sie den mittleren Tag in beide Durchschnittswerte.

Zurück zum Inhaltsverzeichnis.


Ende der Aufgaben