erstellt 09.03.04; überarbeitet 25.03.04, 27.03.04, 24.02.05; © Copyright 2004 - 2005 Heinrich Gailer

Kapitel 53 Programmieraufgaben

Aufgabe 1 — Array von Haustieren

Die folgenden Aufgaben bauen auf den Aufgaben der beiden vorherigen Kapitel auf.

Erstellen Sie ein Array vom Typ Haustiere, das fünf Elemente aufnehmen kann. Erzeugen Sie dann 5 Objekte vom Typ Hund und Katze und weisen Sie diese den Slots des Arrays zu.

Rufen Sie dann in einer for-Schleife die fuettern() und anzeigen() Methode für die Haustiere auf.

Ändern Sie die friss() Methode der Klasse Hund. Kleine Hunde fressen weiterhin 1 Einheit des Futtervorrats, mittelgroße Hunde 1.5 Einheiten und große Hunde fressen 2.0 Einheiten.

Testen Sie das Programm in einer Klasse HaustierFuettern. Die Ausgabe sieht dann ungefähr wie diese aus:

C:\data\java\bsp>java HaustierFuettern
Miau!
1.0 0.5
(Haltung: Wohnungskatze) Der Vorrat fuer Minka reicht 2 Tage.
Wuff!
9.0 7.0 5.0 3.0 1.0
(Kategorie: Grosse Hunde) Der Vorrat fuer Rambo reicht 5 Tage.
Wuff!
4.0 2.5 1.0
(Kategorie: Mittelgrosse Hunde) Der Vorrat fuer Isi reicht 3 Tage.
Miau!
1.5 1.0 0.5
(Haltung: Artgerecht) Der Vorrat fuer Morle reicht 3 Tage.
Wuff!
3.0 2.0 1.0
(Kategorie: Kleinhunde) Der Vorrat fuer Strolchie reicht 3 Tage.
Zurück zur Übersicht.


Aufgabe 2 — Haustiere nach Gewicht sortieren

Das Programm wird um die Möglichkeit erweitert eine Array von Haustier-Objekten sortiert nach Gewicht auszugeben. Fügen Sie der abstrakten Klasse Haustiere die private Variable gewicht hinzu und passen Sie die Konstruktoren der drei Klassen entsprechend an.

Ändern Sie in der abstrakten Klasse Haustiere die öffentliche Methode anzeigen(), so dass sie den Namen und das Gewicht der Haustiere ausgibt.

Implementieren Sie das Interface Comparable in der abstrakten Klasse Haustiere.

Verwenden Sie jetzt für die Ausgabe innerhalb der for-Schleife die anzeigen() Methode. Um die Methode sort() der Klasse Arrays nutzen zu können, müssen Sie das Paket java.util importieren.

import java.util.* ;

Testen Sie das Programm in einer Klasse HaustierFuettern. Die Ausgabe sieht dann ungefähr wie diese aus:

C:\data\java\bsp>java HaustierFuettern

Unsortiertes Array
 [Gewicht   3.5] Der Vorrat fuer Minka reicht 2 Tage.
 [Gewicht  75.0] Der Vorrat fuer Rambo reicht 5 Tage.
 [Gewicht  25.5] Der Vorrat fuer Isi reicht 3 Tage.
 [Gewicht   4.0] Der Vorrat fuer Morle reicht 3 Tage.
 [Gewicht   6.5] Der Vorrat fuer Strolchie reicht 3 Tage.

Sortiertes Array (nach Gewicht)
 [Gewicht   3.5] Der Vorrat fuer Minka reicht 2 Tage.
 [Gewicht   4.0] Der Vorrat fuer Morle reicht 3 Tage.
 [Gewicht   6.5] Der Vorrat fuer Strolchie reicht 3 Tage.
 [Gewicht  25.5] Der Vorrat fuer Isi reicht 3 Tage.
 [Gewicht  75.0] Der Vorrat fuer Rambo reicht 5 Tage.

Zurück zur Übersicht.


Aufgabe 3 — Haustiere nach Namen sortieren

Verändern Sie das Programm, so dass es die Haustiere sortiert nach Namen ausgibt. Verwenden Sie dazu in der compareTo() Methode die Methode compareTo() der Klasse String.

Testen Sie das Programm in einer Klasse HaustierFuettern. Die Ausgabe sieht dann ungefähr wie diese aus:

C:\data\java\bsp>java HaustierFuettern

Unsortiertes Array
 [Gewicht   3.5] Der Vorrat fuer Minka reicht 2 Tage.
 [Gewicht  75.0] Der Vorrat fuer Rambo reicht 5 Tage.
 [Gewicht  25.5] Der Vorrat fuer Isi reicht 3 Tage.
 [Gewicht   4.0] Der Vorrat fuer Morle reicht 3 Tage.
 [Gewicht   6.5] Der Vorrat fuer Strolchie reicht 3 Tage.

Sortiertes Array (nach Name)
 [Gewicht  25.5] Der Vorrat fuer Isi reicht 3 Tage.
 [Gewicht   3.5] Der Vorrat fuer Minka reicht 2 Tage.
 [Gewicht   4.0] Der Vorrat fuer Morle reicht 3 Tage.
 [Gewicht  75.0] Der Vorrat fuer Rambo reicht 5 Tage.
 [Gewicht   6.5] Der Vorrat fuer Strolchie reicht 3 Tage.

Zurück zum Inhaltsverzeichnis.


Ende der Aufgaben