erstellt 04.06.03; übersetzt 24.06.03; © Copyright 2003 Deutsche Übersetzung Heinrich Gailer
Diese Aufgaben erzeugen eine Klasse
Weight,
die ein Array der Gewichte von Einzelpersonen enthält,
aufgenommen an aufeinanderfolgenden Tagen eines Monats.
Vervollständigen Sie den Konstruktor in dem folgenden Programm,
so dass er ein Array data konstruiert,
und dann die Werte des Arrays des Parameters nach data kopiert.
Vervollständigen Sie dann die print() Methode.
Wenn Sie möchten, schreiben Sie sie so, dass sie sieben Werte in einer Zeile ausgibt
mit Ausnahme der letzten Zeile.
class Weight
{
int[] data;
// Konstruktor
Weight(int[] init)
{
// konstruiert ein Array mit derselben Länge
// wie das durch init referenzierte.
data = new ....
// kopiert die übergebenen Werte
// nach data.
for (int j.....)
{
data[j] =
}
}
//Ausgabe
void print()
{
for (int j.....)
{
System.out.println();
}
}
public static void main ( String[] args )
{
int[] values = { 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};
Weight june = new Weight( values );
june.print();
}
}
Zurück zur Übersicht.
Fügen Sie jetzt der Klasse eine average() Methode hinzu.
Verwenden Sie Integerarithmetik.
class Weight
{
. . .
int average()
{
. . .
}
public static void main ( String[] args )
{
int[] values = { 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};
Weight june = new Weight( values );
int avg = june.average();
System.out.println("Durchschnitt = " + avg );
}
}
Um Ihre Methode zu überprüfen, initialisieren Sie das Array mit 10 Werten, die einen leicht zu berechnenden Durchschnitt ergeben.
Zurück zur Übersicht.
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 subAverage( int start, int end );
Machen Sie den Bereich inklusive,
das heißt, addieren Sie alle Tage von
start bis inklusive end.
Sie werden dies 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 zur Übersicht.