Übungsblatt - Informatik.uni

Werbung
PE, Teil Java – Übung
Universität Stuttgart, WS 2008/2009
Prof. Dr. J. Ludewig, H. Röder
1/2
Java-Übungsblatt 6
Collections, Serialisierung
In den Aufgaben dieses Übungsblatts sollen Sie die Grundfunktionalität einer Geburtstagsverwaltung implementieren. Die einzelnen Aufgaben bauen aufeinander auf, Sie benötigen für die
nächste Aufgabe also stets die Lösung der vorherigen Aufgabe.
Aufgabe 1
Personen und Geburtstage (Comparable)
Erstellen Sie eine Klasse Person, die eine Person repräsentiert. Eine Person soll über Vor- und
Nachnamen sowie über einen Geburtstag verfügen. Verwenden Sie Ihre Klasse Geburtstag
von Übungsblatt 5.
Person-Objekte sollen verglichen und sortiert werden können: Personen werden alphabetisch
nach Nachnamen, dann alphabetisch nach Vornamen und schließlich aufsteigend nach ihrem
Alter sortiert. Sind Nachname, Vorname und Geburtstag zweier Personen gleich, so werden
die Personen als „gleich“ angesehen.
Aufgabe 2
Geburtstagskalender (Collections)
Erstellen Sie eine Klasse GeburtstagsKalender, die eine sortierte Menge von Person-Objekten als „Geburtstagskalender“ verwaltet und folgende Methoden anbietet.
–
GeburtstagsKalender()
Konstruktor: erzeugt einen neuen, leeren Geburtstagskalender.
–
boolean fuegeHinzu(Person p)
Fügt die Person zum Geburtstagskalender hinzu und liefert true zurück. Wenn die
Person bereits im Geburtstagskalender enthalten ist, wird der Geburtstagskalender
nicht verändert und false zurückgegeben.
–
boolean entferne(Person p)
Entfernt die Person aus dem Geburtstagskalender und liefert true zurück; falls die
Person nicht im Geburtstagskalender enthalten ist und somit nicht daraus entfernt
werden kann, wird false zurückgegeben.
–
Collection<Person> personen()
Liefert die Datenstruktur zurück, in der die Personen sortiert gespeichert sind.
–
Person naechsterJubilar()
Liefert die Person zurück, die (von heute an gerechnet) als nächstes Geburtstag hat.
–
Collection<Person> jubilare(int monat, int tag)
Liefert die Personen zurück, die am angegebenen Datum in einem beliebigen Jahr
geboren wurden (monat zwischen 1 und 12).
PE, Teil Java – Übung
Universität Stuttgart, WS 2008/2009
Aufgabe 3
Prof. Dr. J. Ludewig, H. Röder
2/2
Geburtstagsverwaltung (Serialisierung)
Programmieren Sie eine Klasse GeburtstagsVerwaltung, die zur Verwaltung von Geburtstagskalendern (Objekte des Typs GeburtstagsKalender aus Aufgabe 2) dient. Die Klasse
soll im Wesentlichen folgende Funktionalität anbieten:
–
–
Export eines vollständigen Geburtstagskalenders in eine (frei wählbare) Datei.
Import eines vollständigen Geburtstagskalenders aus einer (frei wählbaren) Datei.
Allgemeine Hinweise
✔
Typisieren Sie generische Klassen und Schnittstellen, wo immer dies möglich ist. Sie
erhalten Typsicherheit und ersparen sich manuelle Typecasts.
✔
Die Übungsaufgaben werden in der Vorlesung nur kurz besprochen. Versuchen Sie,
aufkommende Fragen direkt im Rahmen der betreuten Programmierübung zu klären –
dazu ist die Übung da!
Betreute Java-Übung im GS-Pool am 10. Dezember 2008 um 14 Uhr
Herunterladen