03_RepetitionCollection
1. Fitnessstudio
Erweitern Sie die Implementierung:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Training ┃━━━━━━┃ Fitnessstudio ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - dauer: int ┃ ┃ - name: String ┃
┃ - bezeichnung: String ┃ ┃ - trainings: ArrayList<Training> ┃
┃ - trainer: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Fitnessstudio(name: String) ┃
┃ + Training(...) ┃ ┃ + getTraining(index): Training ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + kostenGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + kostenProEinheit(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ PersonalTraining ┃ ┃ GruppenTraining ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - preisProEinheit: float ┃ ┃ - gesamtPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + PersonalTraining(...) ┃ ┃ + GruppenTraining(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + kostenGesamt(): float ┃ ┃ + kostenGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Fitnessstudio
Ein Fitnessstudio hat einen Namen und eine Liste von Trainings.
Fitnessstudio(name: String)
Es wird ein Fitnessstudio mit dem übergebenen Namen und einer leeren
ArrayList<Training> erzeugt.
get- und set-Methoden
Übergabeparameter dürfen nicht null sein. Strings dürfen
nicht leer sein. Geben Sie im Fehlerfall erklärende Meldungen auf der
Systemkonsole aus.
getTraining(index: int): Training
Liefert das Training beim übergebenen Index zurück. Ist der Index
ungültig, wird null zurückgeliefert.
hinzufuegen(training: Training): boolean
Fügt das Training hinzu und liefert true. Ist das Training
bereits vorhanden, wird es nicht nochmals hinzugefügt. Es können maximal
15 Trainings gespeichert werden. Bei null oder einer vollen
Liste wird false zurückgeliefert.
entfernen(training: Training): boolean
Entfernt das Training und liefert true. Bei
null oder einem nicht vorhandenen Training wird
false zurückgeliefert.
entfernen(trainer: String): int
Entfernt alle Trainings des angegebenen Trainers und liefert die Anzahl
der entfernten Trainings. Bei null wird -99
zurückgeliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int
Liefert die Anzahl jener GruppenTraining-Objekte, deren
gesamtPreis unter maxPreisGesamt liegt. Bei
ungültigem Parameter oder wenn kein Gruppentraining vorhanden ist, wird
-99 zurückgeliefert.
JUnit
Erstellen Sie die JUnit-Testklasse FitnessstudioTest mit
Testmethoden für:
hinzufuegen(training: Training): booleanentfernen(trainer: String): intanzahlPreisGesamt(maxPreisGesamt: float): int
2. Sprachschule
Erweitern Sie die Implementierung:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ SprachKurs ┃━━━━━━┃ Sprachschule ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stunden: int ┃ ┃ - name: String ┃
┃ - sprache: String ┃ ┃ - kurse: ArrayList<SprachKurs> ┃
┃ - lehrkraft: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Sprachschule(name: String) ┃
┃ + SprachKurs(...) ┃ ┃ + getKurs(index): SprachKurs ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + preisProStunde(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ EinzelKurs ┃ ┃ IntensivKurs ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stundenPreis: float ┃ ┃ - paketPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + EinzelKurs(...) ┃ ┃ + IntensivKurs(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Sprachschule
Eine Sprachschule hat einen Namen und eine Liste von Sprachkursen.
Sprachschule(name: String)
Es wird eine Sprachschule mit dem übergebenen Namen und einer leeren
ArrayList<SprachKurs> erzeugt.
get- und set-Methoden
Übergabeparameter dürfen nicht null sein. Strings dürfen
nicht leer sein. Geben Sie im Fehlerfall erklärende Meldungen auf der
Systemkonsole aus.
getKurs(index: int): SprachKurs
Liefert den Kurs beim übergebenen Index zurück. Bei einem ungültigen
Index wird null zurückgeliefert.
hinzufuegen(kurs: SprachKurs): boolean
Fügt einen noch nicht vorhandenen Kurs hinzu. Maximal 15 Kurse sind
erlaubt. Bei null, einem bereits vorhandenen Kurs oder
einer vollen Liste wird false zurückgeliefert.
entfernen(kurs: SprachKurs): boolean
Entfernt einen vorhandenen Kurs. Bei null oder wenn der
Kurs nicht vorhanden ist, wird false zurückgeliefert.
entfernen(lehrkraft: String): int
Entfernt alle Kurse der angegebenen Lehrkraft. Bei null
wird -99 zurückgeliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int
Zählt alle IntensivKurs-Objekte, deren
paketPreis unter dem Grenzwert liegt. Bei ungültigem
Parameter oder wenn kein Intensivkurs vorhanden ist, wird
-99 zurückgeliefert.
JUnit
Erstellen Sie SprachschuleTest und testen Sie:
hinzufuegen(kurs: SprachKurs): booleanentfernen(lehrkraft: String): intanzahlPreisGesamt(maxPreisGesamt: float): int
3. Hotel
Erweitern Sie die Implementierung:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Buchung ┃━━━━━━┃ Hotel ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - naechte: int ┃ ┃ - name: String ┃
┃ - gast: String ┃ ┃ - buchungen: ArrayList<Buchung> ┃
┃ - zimmer: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Hotel(name: String) ┃
┃ + Buchung(...) ┃ ┃ + getBuchung(index): Buchung ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + preisProNacht(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ StandardBuchung ┃ ┃ PauschalBuchung ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - nachtPreis: float ┃ ┃ - paketPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + StandardBuchung(...) ┃ ┃ + PauschalBuchung(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Hotel
Ein Hotel hat einen Namen und eine Liste von Buchungen.
Hotel(name: String) erzeugt ein Hotel mit einer leeren
ArrayList<Buchung>.
getBuchung(index: int): Buchung liefert die Buchung beim
Index oder bei einem ungültigen Index null.
hinzufuegen(buchung: Buchung): boolean fügt eine noch
nicht vorhandene Buchung hinzu. Maximal 15 Buchungen sind erlaubt. Bei
null, Duplikat oder voller Liste wird false
geliefert.
entfernen(buchung: Buchung): boolean entfernt eine
vorhandene Buchung. Bei null oder wenn die Buchung nicht
vorhanden ist, wird false geliefert.
entfernen(gast: String): int entfernt alle Buchungen des
angegebenen Gastes. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt alle
PauschalBuchung-Objekte, deren paketPreis
unter dem Grenzwert liegt. Bei ungültigem Parameter oder ohne
Pauschalbuchung wird -99 geliefert.
JUnit
Erstellen Sie HotelTest und testen Sie:
hinzufuegen(buchung: Buchung): booleanentfernen(gast: String): intanzahlPreisGesamt(maxPreisGesamt: float): int
4. Autovermietung
Erweitern Sie die Implementierung:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Miete ┃━━━━━━┃ Autovermietung ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - tage: int ┃ ┃ - name: String ┃
┃ - fahrzeug: String ┃ ┃ - mieten: ArrayList<Miete> ┃
┃ - kunde: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Autovermietung(name: String) ┃
┃ + Miete(...) ┃ ┃ + getMiete(index): Miete ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + preisProTag(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ TagesMiete ┃ ┃ PauschalMiete ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - tagesPreis: float ┃ ┃ - pauschale: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + TagesMiete(...) ┃ ┃ + PauschalMiete(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Autovermietung
Eine Autovermietung hat einen Namen und eine Liste von Mieten.
Autovermietung(name: String) erzeugt eine Autovermietung
mit leerer ArrayList<Miete>.
getMiete(index: int): Miete liefert die Miete beim Index
oder null.
hinzufuegen(miete: Miete): boolean fügt eine noch nicht
vorhandene Miete hinzu. Maximal 15 Mieten sind erlaubt.
entfernen(miete: Miete): boolean entfernt eine
vorhandene Miete.
entfernen(kunde: String): int entfernt alle Mieten des
angegebenen Kunden. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt alle
PauschalMiete-Objekte, deren pauschale unter
dem Grenzwert liegt. Bei ungültigem Parameter oder ohne Pauschalmiete
wird -99 geliefert.
JUnit
Erstellen Sie AutovermietungTest und testen Sie:
hinzufuegen(miete: Miete): booleanentfernen(kunde: String): intanzahlPreisGesamt(maxPreisGesamt: float): int
5. Musikschule
Erweitern Sie die Implementierung:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ MusikUnterricht ┃━━━━━━┃ Musikschule ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - einheiten: int ┃ ┃ - name: String ┃
┃ - instrument: String ┃ ┃ - unterrichte: ┃
┃ - lehrkraft: String ┃ ┃ ArrayList<MusikUnterricht> ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + MusikUnterricht(...) ┃ ┃ + Musikschule(name: String) ┃
┃ + get-/set-Methoden ┃ ┃ + getUnterricht(index): ┃
┃ + preisGesamt(): float ┃ ┃ MusikUnterricht ┃
┃ + preisProEinheit(): double ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + toString(): String ┃ ┃ + entfernen(...): boolean ┃
┃ + weitere laut Angabe ┃ ┃ + entfernen(...): int ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ + anzahlPreisGesamt(...): int ┃
┃ ┃ + toString(): String ┃
┏━━^━━━━━━━━━━━━━━━━┓ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ EinzelUnterricht ┃ ┃ GruppenUnterricht ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - einzelPreis: float ┃ ┃ - kursPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + EinzelUnterricht(...) ┃ ┃ + GruppenUnterricht(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Musikschule
Eine Musikschule hat einen Namen und eine Liste von Musikunterrichten.
Musikschule(name: String) erzeugt eine Musikschule mit
leerer ArrayList<MusikUnterricht>.
getUnterricht(index: int): MusikUnterricht liefert den
Unterricht beim Index oder null.
hinzufuegen(unterricht: MusikUnterricht): boolean fügt
einen noch nicht vorhandenen Unterricht hinzu. Maximal 15 Einträge sind
erlaubt.
entfernen(unterricht: MusikUnterricht): boolean entfernt
einen vorhandenen Unterricht.
entfernen(lehrkraft: String): int entfernt alle
Unterrichtseinheiten der angegebenen Lehrkraft. Bei null
wird -99 geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt alle
GruppenUnterricht-Objekte, deren kursPreis
unter dem Grenzwert liegt. Bei ungültigem Parameter oder ohne
Gruppenunterricht wird -99 geliefert.
JUnit
Erstellen Sie MusikschuleTest und testen Sie die drei
Collection-Methoden.
6. Nachhilfeinstitut
Erweitern Sie die Implementierung:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Nachhilfe ┃━━━━━━┃ Nachhilfeinstitut ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stunden: int ┃ ┃ - name: String ┃
┃ - fach: String ┃ ┃ - nachhilfen: ArrayList<Nachhilfe> ┃
┃ - lehrer: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Nachhilfeinstitut(name: String) ┃
┃ + Nachhilfe(...) ┃ ┃ + getNachhilfe(index): Nachhilfe ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + kostenGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + kostenProStunde(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ EinzelNachhilfe ┃ ┃ GruppenNachhilfe ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - preis: float ┃ ┃ - gesamt: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + EinzelNachhilfe(...) ┃ ┃ + GruppenNachhilfe(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + kostenGesamt(): float ┃ ┃ + kostenGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Nachhilfeinstitut
Ein Nachhilfeinstitut hat einen Namen und eine Liste von Nachhilfen.
Nachhilfeinstitut(name: String) erzeugt ein
Nachhilfeinstitut mit leerer
ArrayList<Nachhilfe>.
getNachhilfe(index: int): Nachhilfe liefert die
Nachhilfe beim Index oder null.
hinzufuegen(nachhilfe: Nachhilfe): boolean fügt eine
noch nicht vorhandene Nachhilfe hinzu. Maximal 15 Einträge sind
erlaubt.
entfernen(nachhilfe: Nachhilfe): boolean entfernt eine
vorhandene Nachhilfe.
entfernen(lehrer: String): int entfernt alle Nachhilfen
des angegebenen Lehrers. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
GruppenNachhilfe-Objekte, deren gesamt unter
dem Grenzwert liegt. Bei ungültigem Parameter oder ohne Gruppennachhilfe
wird -99 geliefert.
JUnit
Erstellen Sie NachhilfeinstitutTest und testen Sie die
drei Collection-Methoden.
7. Parkplatz
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ParkVorgang ┃━━━━━━┃ Parkplatz ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stunden: int ┃ ┃ - name: String ┃
┃ - kennzeichen: String ┃ ┃ - vorgaenge: ArrayList<ParkVorgang> ┃
┃ - parkplatz: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Parkplatz(name: String) ┃
┃ + ParkVorgang(...) ┃ ┃ + getVorgang(index): ParkVorgang ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + gebuehrGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + gebuehrProStunde(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ KurzParker ┃ ┃ TagesParker ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - tarif: float ┃ ┃ - pauschale: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + KurzParker(...) ┃ ┃ + TagesParker(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + gebuehrGesamt(): float ┃ ┃ + gebuehrGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Parkplatz
Ein Parkplatz hat einen Namen und eine Liste von Parkvorgängen.
Parkplatz(name: String) erzeugt einen Parkplatz mit
leerer ArrayList<ParkVorgang>.
getVorgang(index: int): ParkVorgang liefert den
Parkvorgang beim Index oder null.
hinzufuegen(vorgang: ParkVorgang): boolean fügt einen
noch nicht vorhandenen Parkvorgang hinzu. Maximal 15 Parkvorgänge sind
erlaubt.
entfernen(vorgang: ParkVorgang): boolean entfernt einen
vorhandenen Parkvorgang.
entfernen(kennzeichen: String): int entfernt alle
Parkvorgänge des angegebenen Kennzeichens. Bei null wird
-99 geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
TagesParker-Objekte, deren pauschale unter dem
Grenzwert liegt. Bei ungültigem Parameter oder ohne Tagesparker wird
-99 geliefert.
JUnit
Erstellen Sie ParkplatzTest und testen Sie die drei
Collection-Methoden.
8. Fahrradverleih
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ FahrradMiete ┃━━━━━━┃ Fahrradverleih ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stunden: int ┃ ┃ - name: String ┃
┃ - fahrrad: String ┃ ┃ - mieten: ArrayList<FahrradMiete> ┃
┃ - kunde: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Fahrradverleih(name: String) ┃
┃ + FahrradMiete(...) ┃ ┃ + getMiete(index): FahrradMiete ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + preisProStunde(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ StundenMiete ┃ ┃ PaketMiete ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - preis: float ┃ ┃ - paket: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + StundenMiete(...) ┃ ┃ + PaketMiete(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Fahrradverleih
Ein Fahrradverleih hat einen Namen und eine Liste von Fahrradmieten.
Fahrradverleih(name: String) erzeugt einen
Fahrradverleih mit leerer
ArrayList<FahrradMiete>.
getMiete(index: int): FahrradMiete liefert die Miete
beim Index oder null.
hinzufuegen(miete: FahrradMiete): boolean fügt eine noch
nicht vorhandene Miete hinzu. Maximal 15 Mieten sind erlaubt.
entfernen(miete: FahrradMiete): boolean entfernt eine
vorhandene Miete.
entfernen(kunde: String): int entfernt alle Mieten des
angegebenen Kunden. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
PaketMiete-Objekte, deren paket unter dem
Grenzwert liegt. Bei ungültigem Parameter oder ohne Paketmiete wird
-99 geliefert.
JUnit
Erstellen Sie FahrradverleihTest und testen Sie die drei
Collection-Methoden.
9. Kino
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Vorstellung ┃━━━━━━┃ Kino ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - tickets: int ┃ ┃ - name: String ┃
┃ - film: String ┃ ┃ - vorstellungen: ┃
┃ - saal: String ┃ ┃ ArrayList<Vorstellung> ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + Vorstellung(...) ┃ ┃ + Kino(name: String) ┃
┃ + get-/set-Methoden ┃ ┃ + getVorstellung(index): Vorstellung ┃
┃ + preisGesamt(): float ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisProTicket(): double ┃ ┃ + entfernen(...): boolean ┃
┃ + toString(): String ┃ ┃ + entfernen(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + anzahlPreisGesamt(...): int ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ + toString(): String ┃
┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ NormalVorstellung ┃ ┃ SonderVorstellung ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - ticketPreis: float ┃ ┃ - gruppenPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + NormalVorstellung(...) ┃ ┃ + SonderVorstellung(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Kino
Ein Kino hat einen Namen und eine Liste von Vorstellungen.
Kino(name: String) erzeugt ein Kino mit leerer
ArrayList<Vorstellung>.
getVorstellung(index: int): Vorstellung liefert die
Vorstellung beim Index oder null.
hinzufuegen(vorstellung: Vorstellung): boolean fügt eine
noch nicht vorhandene Vorstellung hinzu. Maximal 15 Vorstellungen sind
erlaubt.
entfernen(vorstellung: Vorstellung): boolean entfernt
eine vorhandene Vorstellung.
entfernen(film: String): int entfernt alle Vorstellungen
des angegebenen Films. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
SonderVorstellung-Objekte, deren gruppenPreis
unter dem Grenzwert liegt. Bei ungültigem Parameter oder ohne
Sondervorstellung wird -99 geliefert.
JUnit
Erstellen Sie KinoTest und testen Sie die drei
Collection-Methoden.
10. Museum
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Fuehrung ┃━━━━━━┃ Museum ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - teilnehmer: int ┃ ┃ - name: String ┃
┃ - thema: String ┃ ┃ - fuehrungen: ArrayList<Fuehrung> ┃
┃ - guide: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Museum(name: String) ┃
┃ + Fuehrung(...) ┃ ┃ + getFuehrung(index): Fuehrung ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + preisProPerson(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ PersonenFuehrung ┃ ┃ PrivatFuehrung ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - preis: float ┃ ┃ - pauschale: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + PersonenFuehrung(...) ┃ ┃ + PrivatFuehrung(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Museum
Ein Museum hat einen Namen und eine Liste von Führungen.
Museum(name: String) erzeugt ein Museum mit leerer
ArrayList<Fuehrung>.
getFuehrung(index: int): Fuehrung liefert die Führung
beim Index oder null.
hinzufuegen(fuehrung: Fuehrung): boolean fügt eine noch
nicht vorhandene Führung hinzu. Maximal 15 Führungen sind erlaubt.
entfernen(fuehrung: Fuehrung): boolean entfernt eine
vorhandene Führung.
entfernen(guide: String): int entfernt alle Führungen
des angegebenen Guides. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
PrivatFuehrung-Objekte, deren pauschale unter
dem Grenzwert liegt. Bei ungültigem Parameter oder ohne Privatführung
wird -99 geliefert.
JUnit
Erstellen Sie MuseumTest und testen Sie die drei
Collection-Methoden.
11. Schwimmschule
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ SchwimmKurs ┃━━━━━━┃ Schwimmschule ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - einheiten: int ┃ ┃ - name: String ┃
┃ - niveau: String ┃ ┃ - kurse: ArrayList<SchwimmKurs> ┃
┃ - trainer: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Schwimmschule(name: String) ┃
┃ + SchwimmKurs(...) ┃ ┃ + getKurs(index): SchwimmKurs ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + preisProEinheit(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ EinzelSchwimmkurs ┃ ┃ GruppenSchwimmkurs ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - einzelPreis: float ┃ ┃ - kursPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + EinzelSchwimmkurs(...) ┃ ┃ + GruppenSchwimmkurs(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Schwimmschule
Eine Schwimmschule hat einen Namen und eine Liste von Schwimmkursen.
Schwimmschule(name: String) erzeugt eine Schwimmschule
mit leerer ArrayList<SchwimmKurs>.
getKurs(index: int): SchwimmKurs liefert den Kurs beim
Index oder null.
hinzufuegen(kurs: SchwimmKurs): boolean fügt einen noch
nicht vorhandenen Kurs hinzu. Maximal 15 Kurse sind erlaubt.
entfernen(kurs: SchwimmKurs): boolean entfernt einen
vorhandenen Kurs.
entfernen(trainer: String): int entfernt alle Kurse des
angegebenen Trainers. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
GruppenSchwimmkurs-Objekte, deren kursPreis
unter dem Grenzwert liegt. Bei ungültigem Parameter oder ohne
Gruppenschwimmkurs wird -99 geliefert.
JUnit
Erstellen Sie SchwimmschuleTest und testen Sie die drei
Collection-Methoden.
12. Skischule
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ SkiKurs ┃━━━━━━┃ Skischule ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stunden: int ┃ ┃ - name: String ┃
┃ - niveau: String ┃ ┃ - kurse: ArrayList<SkiKurs> ┃
┃ - skiLehrer: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Skischule(name: String) ┃
┃ + SkiKurs(...) ┃ ┃ + getKurs(index): SkiKurs ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + kostenGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + kostenProStunde(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ PrivatSkiKurs ┃ ┃ GruppenSkiKurs ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stundenPreis: float ┃ ┃ - kursPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + PrivatSkiKurs(...) ┃ ┃ + GruppenSkiKurs(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + kostenGesamt(): float ┃ ┃ + kostenGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Skischule
Eine Skischule hat einen Namen und eine Liste von Skikursen.
Skischule(name: String) erzeugt eine Skischule mit
leerer ArrayList<SkiKurs>.
getKurs(index: int): SkiKurs liefert den Kurs beim Index
oder null.
hinzufuegen(kurs: SkiKurs): boolean fügt einen noch
nicht vorhandenen Kurs hinzu. Maximal 15 Kurse sind erlaubt.
entfernen(kurs: SkiKurs): boolean entfernt einen
vorhandenen Kurs.
entfernen(skiLehrer: String): int entfernt alle Kurse
des angegebenen Skilehrers. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
GruppenSkiKurs-Objekte, deren kursPreis unter
dem Grenzwert liegt. Bei ungültigem Parameter oder ohne Gruppenskikurs
wird -99 geliefert.
JUnit
Erstellen Sie SkischuleTest und testen Sie die drei
Collection-Methoden.
13. Fotostudio
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Shooting ┃━━━━━━┃ Fotostudio ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stunden: int ┃ ┃ - name: String ┃
┃ - kunde: String ┃ ┃ - shootings: ArrayList<Shooting> ┃
┃ - fotograf: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Fotostudio(name: String) ┃
┃ + Shooting(...) ┃ ┃ + getShooting(index): Shooting ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + kostenGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + kostenProStunde(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ StundenShooting ┃ ┃ PaketShooting ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stundenPreis: float ┃ ┃ - paketPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + StundenShooting(...) ┃ ┃ + PaketShooting(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + kostenGesamt(): float ┃ ┃ + kostenGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Fotostudio
Ein Fotostudio hat einen Namen und eine Liste von Shootings.
Fotostudio(name: String) erzeugt ein Fotostudio mit
leerer ArrayList<Shooting>.
getShooting(index: int): Shooting liefert das Shooting
beim Index oder null.
hinzufuegen(shooting: Shooting): boolean fügt ein noch
nicht vorhandenes Shooting hinzu. Maximal 15 Shootings sind erlaubt.
entfernen(shooting: Shooting): boolean entfernt ein
vorhandenes Shooting.
entfernen(fotograf: String): int entfernt alle Shootings
des Fotografen. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
PaketShooting-Objekte, deren paketPreis unter
dem Grenzwert liegt. Bei ungültigem Parameter oder ohne Paketshooting
wird -99 geliefert.
JUnit
Erstellen Sie FotostudioTest und testen Sie die drei
Collection-Methoden.
14. Reinigungsfirma
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Reinigung ┃━━━━━━┃ Reinigungsfirma ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stunden: int ┃ ┃ - name: String ┃
┃ - objekt: String ┃ ┃ - reinigungen: ArrayList<Reinigung> ┃
┃ - firma: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Reinigungsfirma(name: String) ┃
┃ + Reinigung(...) ┃ ┃ + getReinigung(index): Reinigung ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + kostenGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + kostenProStunde(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ StundenReinigung ┃ ┃ PauschalReinigung ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stundenSatz: float ┃ ┃ - pauschale: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + StundenReinigung(...) ┃ ┃ + PauschalReinigung(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + kostenGesamt(): float ┃ ┃ + kostenGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Reinigungsfirma
Eine Reinigungsfirma hat einen Namen und eine Liste von Reinigungen.
Reinigungsfirma(name: String) erzeugt eine
Reinigungsfirma mit leerer ArrayList<Reinigung>.
getReinigung(index: int): Reinigung liefert die
Reinigung beim Index oder null.
hinzufuegen(reinigung: Reinigung): boolean fügt eine
noch nicht vorhandene Reinigung hinzu. Maximal 15 Einträge sind
erlaubt.
entfernen(reinigung: Reinigung): boolean entfernt eine
vorhandene Reinigung.
entfernen(firma: String): int entfernt alle Reinigungen
der angegebenen Firma. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
PauschalReinigung-Objekte, deren pauschale
unter dem Grenzwert liegt. Bei ungültigem Parameter oder ohne
Pauschalreinigung wird -99 geliefert.
JUnit
Erstellen Sie ReinigungsfirmaTest und testen Sie die
drei Collection-Methoden.
15. Lieferdienst
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Lieferung ┃━━━━━━┃ Lieferdienst ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - kilometer: int ┃ ┃ - name: String ┃
┃ - ziel: String ┃ ┃ - lieferungen: ArrayList<Lieferung> ┃
┃ - fahrer: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Lieferdienst(name: String) ┃
┃ + Lieferung(...) ┃ ┃ + getLieferung(index): Lieferung ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + kostenGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + kostenProKilometer(): ┃ ┃ + entfernen(...): int ┃
┃ double ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ KilometerLieferung ┃ ┃ PauschalLieferung ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - kilometerPreis: float ┃ ┃ - pauschalPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + KilometerLieferung(...) ┃ ┃ + PauschalLieferung(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + kostenGesamt(): float ┃ ┃ + kostenGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Lieferdienst
Ein Lieferdienst hat einen Namen und eine Liste von Lieferungen.
Lieferdienst(name: String) erzeugt einen Lieferdienst
mit leerer ArrayList<Lieferung>.
getLieferung(index: int): Lieferung liefert die
Lieferung beim Index oder null.
hinzufuegen(lieferung: Lieferung): boolean fügt eine
noch nicht vorhandene Lieferung hinzu. Maximal 15 Lieferungen sind
erlaubt.
entfernen(lieferung: Lieferung): boolean entfernt eine
vorhandene Lieferung.
entfernen(fahrer: String): int entfernt alle Lieferungen
des angegebenen Fahrers. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
PauschalLieferung-Objekte, deren pauschalPreis
unter dem Grenzwert liegt. Bei ungültigem Parameter oder ohne
Pauschallieferung wird -99 geliefert.
JUnit
Erstellen Sie LieferdienstTest und testen Sie die drei
Collection-Methoden.
16. Taxiunternehmen
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Fahrt ┃━━━━━━┃ Taxiunternehmen ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - kilometer: int ┃ ┃ - name: String ┃
┃ - start: String ┃ ┃ - fahrten: ArrayList<Fahrt> ┃
┃ - ziel: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Taxiunternehmen(name: String) ┃
┃ + Fahrt(...) ┃ ┃ + getFahrt(index): Fahrt ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + preisProKilometer(): ┃ ┃ + entfernen(...): int ┃
┃ double ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ TaxiFahrt ┃ ┃ FixpreisFahrt ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - kilometerPreis: float ┃ ┃ - fixPreis: float ┃
┃ - grundGebuehr: float ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + FixpreisFahrt(...) ┃
┃ + TaxiFahrt(...) ┃ ┃ + get-/set-Methoden ┃
┃ + get-/set-Methoden ┃ ┃ + preisGesamt(): float ┃
┃ + preisGesamt(): float ┃ ┃ + toString(): String ┃
┃ + toString(): String ┃ ┃ + weitere laut Angabe ┃
┃ + weitere laut Angabe ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Taxiunternehmen
Ein Taxiunternehmen hat einen Namen und eine Liste von Fahrten.
Taxiunternehmen(name: String) erzeugt ein
Taxiunternehmen mit leerer ArrayList<Fahrt>.
getFahrt(index: int): Fahrt liefert die Fahrt beim Index
oder null.
hinzufuegen(fahrt: Fahrt): boolean fügt eine noch nicht
vorhandene Fahrt hinzu. Maximal 15 Fahrten sind erlaubt.
entfernen(fahrt: Fahrt): boolean entfernt eine
vorhandene Fahrt.
entfernen(ziel: String): int entfernt alle Fahrten mit
dem angegebenen Ziel. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
FixpreisFahrt-Objekte, deren fixPreis unter
dem Grenzwert liegt. Bei ungültigem Parameter oder ohne Fixpreisfahrt
wird -99 geliefert.
JUnit
Erstellen Sie TaxiunternehmenTest und testen Sie die
drei Collection-Methoden.
17. Paketdienst
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Versand ┃━━━━━━┃ Paketdienst ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - gewicht: int ┃ ┃ - name: String ┃
┃ - empfaenger: String ┃ ┃ - versand: ArrayList<Versand> ┃
┃ - land: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Paketdienst(name: String) ┃
┃ + Versand(...) ┃ ┃ + getVersand(index): Versand ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + kostenGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + kostenProKg(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ GewichtsVersand ┃ ┃ PauschalVersand ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - preisProKg: float ┃ ┃ - pauschale: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + GewichtsVersand(...) ┃ ┃ + PauschalVersand(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + kostenGesamt(): float ┃ ┃ + kostenGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Paketdienst
Ein Paketdienst hat einen Namen und eine Liste von Versandobjekten.
Paketdienst(name: String) erzeugt einen Paketdienst mit
leerer ArrayList<Versand>.
getVersand(index: int): Versand liefert den Versand beim
Index oder null.
hinzufuegen(versand: Versand): boolean fügt einen noch
nicht vorhandenen Versand hinzu. Maximal 15 Einträge sind erlaubt.
entfernen(versand: Versand): boolean entfernt einen
vorhandenen Versand.
entfernen(empfaenger: String): int entfernt alle
Sendungen des angegebenen Empfängers. Bei null wird
-99 geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
PauschalVersand-Objekte, deren pauschale unter
dem Grenzwert liegt. Bei ungültigem Parameter oder ohne Pauschalversand
wird -99 geliefert.
JUnit
Erstellen Sie PaketdienstTest und testen Sie die drei
Collection-Methoden.
18. Campingplatz
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Aufenthalt ┃━━━━━━┃ Campingplatz ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - naechte: int ┃ ┃ - name: String ┃
┃ - gast: String ┃ ┃ - aufenthalte: ArrayList<Aufenthalt> ┃
┃ - platz: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Campingplatz(name: String) ┃
┃ + Aufenthalt(...) ┃ ┃ + getAufenthalt(index): Aufenthalt ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + preisProNacht(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ZeltAufenthalt ┃ ┃ WohnmobilAufenthalt ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - nachtPreis: float ┃ ┃ - paketPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + ZeltAufenthalt(...) ┃ ┃ + WohnmobilAufenthalt(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Campingplatz
Ein Campingplatz hat einen Namen und eine Liste von Aufenthalten.
Campingplatz(name: String) erzeugt einen Campingplatz
mit leerer ArrayList<Aufenthalt>.
getAufenthalt(index: int): Aufenthalt liefert den
Aufenthalt beim Index oder null.
hinzufuegen(aufenthalt: Aufenthalt): boolean fügt einen
noch nicht vorhandenen Aufenthalt hinzu. Maximal 15 Aufenthalte sind
erlaubt.
entfernen(aufenthalt: Aufenthalt): boolean entfernt
einen vorhandenen Aufenthalt.
entfernen(gast: String): int entfernt alle Aufenthalte
des angegebenen Gastes. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
WohnmobilAufenthalt-Objekte, deren paketPreis
unter dem Grenzwert liegt. Bei ungültigem Parameter oder ohne
Wohnmobilaufenthalt wird -99 geliefert.
JUnit
Erstellen Sie CampingplatzTest und testen Sie die drei
Collection-Methoden.
19. Hundeschule
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ HundeTraining ┃━━━━━━┃ Hundeschule ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - einheiten: int ┃ ┃ - name: String ┃
┃ - hund: String ┃ ┃ - trainings: ArrayList<HundeTraining> ┃
┃ - trainer: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Hundeschule(name: String) ┃
┃ + HundeTraining(...) ┃ ┃ + getTraining(index): HundeTraining ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + preisProEinheit(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ EinzelTraining ┃ ┃ GruppenTraining ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - einzelPreis: float ┃ ┃ - kursPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + EinzelTraining(...) ┃ ┃ + GruppenTraining(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Hundeschule
Eine Hundeschule hat einen Namen und eine Liste von Hundetrainings.
Hundeschule(name: String) erzeugt eine Hundeschule mit
leerer ArrayList<HundeTraining>.
getTraining(index: int): HundeTraining liefert das
Training beim Index oder null.
hinzufuegen(training: HundeTraining): boolean fügt ein
noch nicht vorhandenes Training hinzu. Maximal 15 Trainings sind
erlaubt.
entfernen(training: HundeTraining): boolean entfernt ein
vorhandenes Training.
entfernen(trainer: String): int entfernt alle Trainings
des Trainers. Bei null wird -99 geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
GruppenTraining-Objekte, deren kursPreis unter
dem Grenzwert liegt. Bei ungültigem Parameter oder ohne Gruppentraining
wird -99 geliefert.
JUnit
Erstellen Sie HundeschuleTest und testen Sie die drei
Collection-Methoden.
20. Reitschule
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ReitKurs ┃━━━━━━┃ Reitschule ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - einheiten: int ┃ ┃ - name: String ┃
┃ - schueler: String ┃ ┃ - kurse: ArrayList<ReitKurs> ┃
┃ - pferd: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Reitschule(name: String) ┃
┃ + ReitKurs(...) ┃ ┃ + getKurs(index): ReitKurs ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + preisProEinheit(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ EinzelReitstunde ┃ ┃ ReitPaket ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - einzelPreis: float ┃ ┃ - paketPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + EinzelReitstunde(...) ┃ ┃ + ReitPaket(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Reitschule
Eine Reitschule hat einen Namen und eine Liste von Reitkursen.
Reitschule(name: String) erzeugt eine Reitschule mit
leerer ArrayList<ReitKurs>.
getKurs(index: int): ReitKurs liefert den Kurs beim
Index oder null.
hinzufuegen(kurs: ReitKurs): boolean fügt einen noch
nicht vorhandenen Kurs hinzu. Maximal 15 Kurse sind erlaubt.
entfernen(kurs: ReitKurs): boolean entfernt einen
vorhandenen Kurs.
entfernen(pferd: String): int entfernt alle Kurse mit
dem angegebenen Pferd. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
ReitPaket-Objekte, deren paketPreis unter dem
Grenzwert liegt. Bei ungültigem Parameter oder ohne Reitpaket wird
-99 geliefert.
JUnit
Erstellen Sie ReitschuleTest und testen Sie die drei
Collection-Methoden.
21. Werkstatt
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Reparatur ┃━━━━━━┃ Werkstatt ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - arbeitsStunden: int ┃ ┃ - name: String ┃
┃ - fahrzeug: String ┃ ┃ - reparaturen: ArrayList<Reparatur> ┃
┃ - mechaniker: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Werkstatt(name: String) ┃
┃ + Reparatur(...) ┃ ┃ + getReparatur(index): Reparatur ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + kostenGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + kostenProStunde(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ StundenReparatur ┃ ┃ FixpreisReparatur ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stundenSatz: float ┃ ┃ - fixPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + StundenReparatur(...) ┃ ┃ + FixpreisReparatur(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + kostenGesamt(): float ┃ ┃ + kostenGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Werkstatt
Eine Werkstatt hat einen Namen und eine Liste von Reparaturen.
Werkstatt(name: String) erzeugt eine Werkstatt mit
leerer ArrayList<Reparatur>.
getReparatur(index: int): Reparatur liefert die
Reparatur beim Index oder null.
hinzufuegen(reparatur: Reparatur): boolean fügt eine
noch nicht vorhandene Reparatur hinzu. Maximal 15 Reparaturen sind
erlaubt.
entfernen(reparatur: Reparatur): boolean entfernt eine
vorhandene Reparatur.
entfernen(mechaniker: String): int entfernt alle
Reparaturen des Mechanikers. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
FixpreisReparatur-Objekte, deren fixPreis
unter dem Grenzwert liegt. Bei ungültigem Parameter oder ohne
Fixpreisreparatur wird -99 geliefert.
JUnit
Erstellen Sie WerkstattTest und testen Sie die drei
Collection-Methoden.
22. Supportfirma
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ SupportAuftrag ┃━━━━━━┃ SupportFirma ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stunden: int ┃ ┃ - name: String ┃
┃ - kunde: String ┃ ┃ - auftraege: ┃
┃ - techniker: String ┃ ┃ ArrayList<SupportAuftrag> ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + SupportAuftrag(...) ┃ ┃ + SupportFirma(name: String) ┃
┃ + get-/set-Methoden ┃ ┃ + getAuftrag(index): SupportAuftrag ┃
┃ + kostenGesamt(): float ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + kostenProStunde(): double ┃ ┃ + entfernen(...): boolean ┃
┃ + toString(): String ┃ ┃ + entfernen(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + anzahlPreisGesamt(...): int ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ + toString(): String ┃
┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ StundenSupport ┃ ┃ SupportPaket ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stundenPreis: float ┃ ┃ - paketPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + StundenSupport(...) ┃ ┃ + SupportPaket(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + kostenGesamt(): float ┃ ┃ + kostenGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
SupportFirma
Eine Supportfirma hat einen Namen und eine Liste von Supportaufträgen.
SupportFirma(name: String) erzeugt eine Supportfirma mit
leerer ArrayList<SupportAuftrag>.
getAuftrag(index: int): SupportAuftrag liefert den
Auftrag beim Index oder null.
hinzufuegen(auftrag: SupportAuftrag): boolean fügt einen
noch nicht vorhandenen Auftrag hinzu. Maximal 15 Aufträge sind
erlaubt.
entfernen(auftrag: SupportAuftrag): boolean entfernt
einen vorhandenen Auftrag.
entfernen(techniker: String): int entfernt alle Aufträge
des Technikers. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
SupportPaket-Objekte, deren paketPreis unter
dem Grenzwert liegt. Bei ungültigem Parameter oder ohne Supportpaket
wird -99 geliefert.
JUnit
Erstellen Sie SupportFirmaTest und testen Sie die drei
Collection-Methoden.
23. Webagentur
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ WebProjekt ┃━━━━━━┃ Webagentur ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stunden: int ┃ ┃ - name: String ┃
┃ - projektName: String ┃ ┃ - projekte: ArrayList<WebProjekt> ┃
┃ - entwickler: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Webagentur(name: String) ┃
┃ + WebProjekt(...) ┃ ┃ + getProjekt(index): WebProjekt ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + kostenGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + kostenProStunde(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ StundenProjekt ┃ ┃ FixpreisProjekt ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stundenSatz: float ┃ ┃ - fixPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + StundenProjekt(...) ┃ ┃ + FixpreisProjekt(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + kostenGesamt(): float ┃ ┃ + kostenGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Webagentur
Eine Webagentur hat einen Namen und eine Liste von Webprojekten.
Webagentur(name: String) erzeugt eine Webagentur mit
leerer ArrayList<WebProjekt>.
getProjekt(index: int): WebProjekt liefert das Projekt
beim Index oder null.
hinzufuegen(projekt: WebProjekt): boolean fügt ein noch
nicht vorhandenes Projekt hinzu. Maximal 15 Projekte sind erlaubt.
entfernen(projekt: WebProjekt): boolean entfernt ein
vorhandenes Projekt.
entfernen(entwickler: String): int entfernt alle
Projekte des Entwicklers. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
FixpreisProjekt-Objekte, deren fixPreis unter
dem Grenzwert liegt. Bei ungültigem Parameter oder ohne Fixpreisprojekt
wird -99 geliefert.
JUnit
Erstellen Sie WebagenturTest und testen Sie die drei
Collection-Methoden.
24. Druckerei
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ DruckAuftrag ┃━━━━━━┃ Druckerei ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - anzahl: int ┃ ┃ - name: String ┃
┃ - produkt: String ┃ ┃ - auftraege: ┃
┃ - kunde: String ┃ ┃ ArrayList<DruckAuftrag> ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + DruckAuftrag(...) ┃ ┃ + Druckerei(name: String) ┃
┃ + get-/set-Methoden ┃ ┃ + getAuftrag(index): DruckAuftrag ┃
┃ + preisGesamt(): float ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisProStueck(): double ┃ ┃ + entfernen(...): boolean ┃
┃ + toString(): String ┃ ┃ + entfernen(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + anzahlPreisGesamt(...): int ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ + toString(): String ┃
┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ StueckDruck ┃ ┃ PauschalDruck ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stueckPreis: float ┃ ┃ - auftragPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + StueckDruck(...) ┃ ┃ + PauschalDruck(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Druckerei
Eine Druckerei hat einen Namen und eine Liste von Druckaufträgen.
Druckerei(name: String) erzeugt eine Druckerei mit
leerer ArrayList<DruckAuftrag>.
getAuftrag(index: int): DruckAuftrag liefert den Auftrag
beim Index oder null.
hinzufuegen(auftrag: DruckAuftrag): boolean fügt einen
noch nicht vorhandenen Auftrag hinzu. Maximal 15 Aufträge sind
erlaubt.
entfernen(auftrag: DruckAuftrag): boolean entfernt einen
vorhandenen Auftrag.
entfernen(kunde: String): int entfernt alle
Druckaufträge des Kunden. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
PauschalDruck-Objekte, deren auftragPreis
unter dem Grenzwert liegt. Bei ungültigem Parameter oder ohne
Pauschaldruck wird -99 geliefert.
JUnit
Erstellen Sie DruckereiTest und testen Sie die drei
Collection-Methoden.
25. CateringFirma
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ CateringAuftrag ┃━━━━━━┃ CateringFirma ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - personen: int ┃ ┃ - name: String ┃
┃ - veranstaltung: String ┃ ┃ - auftraege: ┃
┃ - kunde: String ┃ ┃ ArrayList<CateringAuftrag> ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + CateringAuftrag(...) ┃ ┃ + CateringFirma(name: String) ┃
┃ + get-/set-Methoden ┃ ┃ + getAuftrag(index): CateringAuftrag ┃
┃ + preisGesamt(): float ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisProPerson(): double ┃ ┃ + entfernen(...): boolean ┃
┃ + toString(): String ┃ ┃ + entfernen(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + anzahlPreisGesamt(...): int ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ + toString(): String ┃
┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ PersonenCatering ┃ ┃ PauschalCatering ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - personenPreis: float ┃ ┃ - pauschale: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + PersonenCatering(...) ┃ ┃ + PauschalCatering(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
CateringFirma
Eine Cateringfirma hat einen Namen und eine Liste von Cateringaufträgen.
CateringFirma(name: String) erzeugt eine Cateringfirma
mit leerer ArrayList<CateringAuftrag>.
getAuftrag(index: int): CateringAuftrag liefert den
Auftrag beim Index oder null.
hinzufuegen(auftrag: CateringAuftrag): boolean fügt
einen noch nicht vorhandenen Auftrag hinzu. Maximal 15 Aufträge sind
erlaubt.
entfernen(auftrag: CateringAuftrag): boolean entfernt
einen vorhandenen Auftrag.
entfernen(kunde: String): int entfernt alle
Cateringaufträge des Kunden. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
PauschalCatering-Objekte, deren pauschale
unter dem Grenzwert liegt. Bei ungültigem Parameter oder ohne
Pauschalcatering wird -99 geliefert.
JUnit
Erstellen Sie CateringFirmaTest und testen Sie die drei
Collection-Methoden.
26. Veranstalter
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Event ┃━━━━━━┃ Veranstalter ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - teilnehmer: int ┃ ┃ - name: String ┃
┃ - bezeichnung: String ┃ ┃ - events: ArrayList<Event> ┃
┃ - veranstalter: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Veranstalter(name: String) ┃
┃ + Event(...) ┃ ┃ + getEvent(index): Event ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + preisProTeilnehmer(): ┃ ┃ + entfernen(...): int ┃
┃ double ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ TeilnehmerEvent ┃ ┃ PauschalEvent ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - teilnehmerPreis: float ┃ ┃ - pauschale: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + TeilnehmerEvent(...) ┃ ┃ + PauschalEvent(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Veranstalter
Ein Veranstalter hat einen Namen und eine Liste von Events.
Veranstalter(name: String) erzeugt einen Veranstalter
mit leerer ArrayList<Event>.
getEvent(index: int): Event liefert das Event beim Index
oder null.
hinzufuegen(event: Event): boolean fügt ein noch nicht
vorhandenes Event hinzu. Maximal 15 Events sind erlaubt.
entfernen(event: Event): boolean entfernt ein
vorhandenes Event.
entfernen(veranstalter: String): int entfernt alle
Events mit dem angegebenen Veranstalter. Bei null wird
-99 geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
PauschalEvent-Objekte, deren pauschale unter
dem Grenzwert liegt. Bei ungültigem Parameter oder ohne Pauschalevent
wird -99 geliefert.
JUnit
Erstellen Sie VeranstalterTest und testen Sie die drei
Collection-Methoden.
27. Bootsverleih
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ BootMiete ┃━━━━━━┃ Bootsverleih ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stunden: int ┃ ┃ - name: String ┃
┃ - boot: String ┃ ┃ - mieten: ArrayList<BootMiete> ┃
┃ - kunde: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Bootsverleih(name: String) ┃
┃ + BootMiete(...) ┃ ┃ + getMiete(index): BootMiete ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + preisProStunde(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ StundenBoot ┃ ┃ PauschalBoot ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stundenPreis: float ┃ ┃ - pauschale: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + StundenBoot(...) ┃ ┃ + PauschalBoot(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Bootsverleih
Ein Bootsverleih hat einen Namen und eine Liste von Bootsmieten.
Bootsverleih(name: String) erzeugt einen Bootsverleih
mit leerer ArrayList<BootMiete>.
getMiete(index: int): BootMiete liefert die Miete beim
Index oder null.
hinzufuegen(miete: BootMiete): boolean fügt eine noch
nicht vorhandene Miete hinzu. Maximal 15 Mieten sind erlaubt.
entfernen(miete: BootMiete): boolean entfernt eine
vorhandene Miete.
entfernen(kunde: String): int entfernt alle Bootsmieten
des Kunden. Bei null wird -99 geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
PauschalBoot-Objekte, deren pauschale unter
dem Grenzwert liegt. Bei ungültigem Parameter oder ohne Pauschalboot
wird -99 geliefert.
JUnit
Erstellen Sie BootsverleihTest und testen Sie die drei
Collection-Methoden.
28. Flugschule
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ FlugUnterricht ┃━━━━━━┃ Flugschule ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stunden: int ┃ ┃ - name: String ┃
┃ - schueler: String ┃ ┃ - unterrichte: ┃
┃ - fluglehrer: String ┃ ┃ ArrayList<FlugUnterricht> ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + FlugUnterricht(...) ┃ ┃ + Flugschule(name: String) ┃
┃ + get-/set-Methoden ┃ ┃ + getUnterricht(index): ┃
┃ + preisGesamt(): float ┃ ┃ FlugUnterricht ┃
┃ + preisProStunde(): double ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + toString(): String ┃ ┃ + entfernen(...): boolean ┃
┃ + weitere laut Angabe ┃ ┃ + entfernen(...): int ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ + anzahlPreisGesamt(...): int ┃
┃ ┃ + toString(): String ┃
┏━━^━━━━━━━━━━━━━━━━┓ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ EinzelFlug ┃ ┃ FlugPaket ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - stundenPreis: float ┃ ┃ - paketPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + EinzelFlug(...) ┃ ┃ + FlugPaket(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Flugschule
Eine Flugschule hat einen Namen und eine Liste von Flugunterrichten.
Flugschule(name: String) erzeugt eine Flugschule mit
leerer ArrayList<FlugUnterricht>.
getUnterricht(index: int): FlugUnterricht liefert den
Unterricht beim Index oder null.
hinzufuegen(unterricht: FlugUnterricht): boolean fügt
einen noch nicht vorhandenen Unterricht hinzu. Maximal 15
Unterrichtseinheiten sind erlaubt.
entfernen(unterricht: FlugUnterricht): boolean entfernt
einen vorhandenen Unterricht.
entfernen(fluglehrer: String): int entfernt alle
Unterrichtseinheiten des angegebenen Fluglehrers. Bei null
wird -99 geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
FlugPaket-Objekte, deren paketPreis unter dem
Grenzwert liegt. Bei ungültigem Parameter oder ohne Flugpaket wird
-99 geliefert.
JUnit
Erstellen Sie FlugschuleTest und testen Sie die drei
Collection-Methoden.
29. Kochschule
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ KochKurs ┃━━━━━━┃ Kochschule ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - einheiten: int ┃ ┃ - name: String ┃
┃ - bezeichnung: String ┃ ┃ - kurse: ArrayList<KochKurs> ┃
┃ - koch: String ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ + Kochschule(name: String) ┃
┃ + KochKurs(...) ┃ ┃ + getKurs(index): KochKurs ┃
┃ + get-/set-Methoden ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + preisGesamt(): float ┃ ┃ + entfernen(...): boolean ┃
┃ + preisProEinheit(): double ┃ ┃ + entfernen(...): int ┃
┃ + toString(): String ┃ ┃ + anzahlPreisGesamt(...): int ┃
┃ + weitere laut Angabe ┃ ┃ + toString(): String ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃
┏━━^━━━━━━━━━━━━━━━━┓
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ PrivatKochkurs ┃ ┃ GruppenKochkurs ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - einzelPreis: float ┃ ┃ - kursPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + PrivatKochkurs(...) ┃ ┃ + GruppenKochkurs(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Kochschule
Eine Kochschule hat einen Namen und eine Liste von Kochkursen.
Kochschule(name: String) erzeugt eine Kochschule mit
leerer ArrayList<KochKurs>.
getKurs(index: int): KochKurs liefert den Kurs beim
Index oder null.
hinzufuegen(kurs: KochKurs): boolean fügt einen noch
nicht vorhandenen Kurs hinzu. Maximal 15 Kurse sind erlaubt.
entfernen(kurs: KochKurs): boolean entfernt einen
vorhandenen Kurs.
entfernen(koch: String): int entfernt alle Kurse des
angegebenen Kochs. Bei null wird -99
geliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int zählt
GruppenKochkurs-Objekte, deren kursPreis unter
dem Grenzwert liegt. Bei ungültigem Parameter oder ohne Gruppenkurs wird
-99 geliefert.
JUnit
Erstellen Sie KochschuleTest und testen Sie die drei
Collection-Methoden.
30. Fahrschule
Erweitern Sie die Implementierung:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ FahrAusbildung ┃━━━━━━┃ Fahrschule ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - einheiten: int ┃ ┃ - name: String ┃
┃ - schueler: String ┃ ┃ - ausbildungen: ┃
┃ - fahrlehrer: String ┃ ┃ ArrayList<FahrAusbildung> ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + FahrAusbildung(...) ┃ ┃ + Fahrschule(name: String) ┃
┃ + get-/set-Methoden ┃ ┃ + getAusbildung(index): ┃
┃ + preisGesamt(): float ┃ ┃ FahrAusbildung ┃
┃ + preisProEinheit(): double ┃ ┃ + hinzufuegen(...): boolean ┃
┃ + toString(): String ┃ ┃ + entfernen(...): boolean ┃
┃ + weitere laut Angabe ┃ ┃ + entfernen(...): int ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃ + anzahlPreisGesamt(...): int ┃
┃ ┃ + toString(): String ┃
┏━━^━━━━━━━━━━━━━━━━┓ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┃ ┃
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ EinzelFahrstunde ┃ ┃ FahrstundenPaket ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ - einzelPreis: float ┃ ┃ - paketPreis: float ┃
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
┃ + EinzelFahrstunde(...) ┃ ┃ + FahrstundenPaket(...) ┃
┃ + get-/set-Methoden ┃ ┃ + get-/set-Methoden ┃
┃ + preisGesamt(): float ┃ ┃ + preisGesamt(): float ┃
┃ + toString(): String ┃ ┃ + toString(): String ┃
┃ + weitere laut Angabe ┃ ┃ + weitere laut Angabe ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Fahrschule
Eine Fahrschule hat einen Namen und eine Liste von Fahrausbildungen.
Fahrschule(name: String)
Es wird eine Fahrschule mit dem übergebenen Namen und einer leeren
ArrayList<FahrAusbildung> erzeugt.
get- und set-Methoden
Übergabeparameter dürfen nicht null sein. Strings dürfen
nicht leer sein. Geben Sie im Fehlerfall erklärende Meldungen auf der
Systemkonsole aus.
getAusbildung(index: int): FahrAusbildung
Liefert die Fahrausbildung beim angegebenen Index. Bei einem ungültigen
Index wird null zurückgeliefert.
hinzufuegen(ausbildung: FahrAusbildung): boolean
Fügt eine noch nicht vorhandene Fahrausbildung hinzu. Es können maximal
15 Fahrausbildungen gespeichert werden. Bei null, einem
Duplikat oder einer vollen Liste wird false
zurückgeliefert.
entfernen(ausbildung: FahrAusbildung): boolean
Entfernt eine vorhandene Fahrausbildung. Bei null oder wenn
sie nicht vorhanden ist, wird false zurückgeliefert.
entfernen(fahrlehrer: String): int
Entfernt alle Fahrausbildungen des angegebenen Fahrlehrers und liefert
die Anzahl der entfernten Objekte. Bei null wird
-99 zurückgeliefert.
anzahlPreisGesamt(maxPreisGesamt: float): int
Zählt alle FahrstundenPaket-Objekte, deren
paketPreis unter dem Grenzwert liegt. Bei ungültigem
Parameter oder wenn kein Fahrstundenpaket vorhanden ist, wird
-99 zurückgeliefert.
JUnit
Erstellen Sie die JUnit-Testklasse FahrschuleTest mit
Testmethoden für:
hinzufuegen(ausbildung: FahrAusbildung): booleanentfernen(fahrlehrer: String): intanzahlPreisGesamt(maxPreisGesamt: float): int
Code-Dateien
| Dateiname | Aktion |
|---|---|
| CODECode_Tanzschule_D.zip | Download |
PDF-Dokumente
| Dateiname | Aktion |
|---|---|
| PDFUebung_Tanzschule.pdf | Öffnen |
Videos
| Dateiname | Aktion |
|---|---|
| VIDEOVideo_Tanzschule_D | Abspielen |
Lernmaterialien
In Java, a Collection is used to store and manage multiple objects.
Unlike an array, many collection types can grow and shrink dynamically while the program is running.
Common collection types are:
ArrayListLinkedListHashSetHashMap(technically part of the Collections Framework, but not aCollectionitself)
ArrayList
An ArrayList is one of the most commonly used
collections in Java.
It stores elements in a list and keeps their order.
You first need to import it:
import java.util.ArrayList;
Then you can create an ArrayList:
ArrayList<String> names = new ArrayList<>();
String defines the type of elements that may be stored
in the list.
You can add elements with add():
names.add("Anna");
names.add("Max");
names.add("Peter");
The list now contains:
Anna
Max
Peter
Accessing elements
Elements are accessed by their index.
The first element has index 0.
System.out.println(names.get(0));
System.out.println(names.get(1));
Output:
Anna
Max
Changing an element
Use set():
names.set(1, "Lisa");
The list is now:
Anna
Lisa
Peter
Removing elements
Use remove():
names.remove(1);
or:
names.remove("Peter");
Number of elements
Use size():
System.out.println(names.size());
Looping through an ArrayList
With a normal for loop:
for (int i = 0; i < names.size(); i++) {
System.out.println(names.get(i));
}
Or with an enhanced for loop:
for (String name : names) {
System.out.println(name);
}
ArrayList with objects
An ArrayList can also contain objects of your own
classes.
ArrayList<Car> cars = new ArrayList<>();
cars.add(new Car("BMW", 4));
cars.add(new Car("Audi", 5));
cars.add(new Car("VW", 4));
You can then access the objects:
System.out.println(cars.get(0).getBrand());
Or loop over them:
for (Car car : cars) {
System.out.println(car.getBrand());
}
Array vs. ArrayList
| Array | ArrayList |
|---|---|
| Fixed size | Dynamic size |
String[] names |
ArrayList<String> names |
names[0] |
names.get(0) |
names.length |
names.size() |
| Cannot easily add elements | add() |
| Cannot easily remove elements | remove() |
A simple definition for students would be:
An ArrayList is a dynamic list in Java that can store multiple objects of the same type. Elements can be added, removed, changed, and accessed using an index.