Skip to content

Commit 7d47c12

Browse files
author
=
committed
format
1 parent 9ca3e92 commit 7d47c12

File tree

2 files changed

+79
-32
lines changed

2 files changed

+79
-32
lines changed

docs/additional-material/daniel-java1/sample-exam.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,17 @@ tags: []
77

88
## Hinweise zur Klausur
99

10-
- Die in dieser Klausur verwendeten Personenbezeichnungen beziehen sich – sofern nicht anders kenntlich gemacht – auf alle Geschlechter
11-
- Es kann davon ausgegangen werden, dass sämtliche Klassen entsprechende Implementierungen
12-
der Object-Methoden besitzen
13-
- Der Stereotyp `<<enumeration>>` impliziert, dass die Aufzählung einen passenden, privaten Konstruktor sowie gegebenenfalls passende Getter für alle Attribute besitzt
10+
- Die in dieser Klausur verwendeten Personenbezeichnungen beziehen sich – sofern
11+
nicht anders kenntlich gemacht – auf alle Geschlechter
12+
- Es kann davon ausgegangen werden, dass sämtliche Klassen entsprechende
13+
Implementierungen der Object-Methoden besitzen
14+
- Der Stereotyp `<<enumeration>>` impliziert, dass die Aufzählung einen
15+
passenden, privaten Konstruktor sowie gegebenenfalls passende Getter für alle
16+
Attribute besitzt
1417
- Pakete und Klassenimporte müssen nicht angegeben werden
1518
- Für die Konsolenausgabe kann das Kürzel _sysout_ verwendet werden
16-
- Methoden- und Attributsbezeichner dürfen sinnvoll gekürzt geschrieben werden (Beispiel _getLWMCP()_ statt _getLectureWithMostCreditPoints()_)
19+
- Methoden- und Attributsbezeichner dürfen sinnvoll gekürzt geschrieben werden
20+
(Beispiel _getLWMCP()_ statt _getLectureWithMostCreditPoints()_)
1721

1822
## Aufgabe 1 (20 Punkte)
1923

docs/additional-material/daniel-java2/sample-exam.md

Lines changed: 70 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,25 @@ tags: []
77

88
## Hinweise zur Klausur
99

10-
- Die in dieser Klausur verwendeten Personenbezeichnungen beziehen sich – sofern nicht anders kenntlich gemacht – auf alle Geschlechter
11-
- Es kann davon ausgegangen werden, dass sämtliche Klassen entsprechende Implementierungen
12-
der Object-Methoden besitzen
13-
- Der Stereotyp `<<record>>` impliziert, dass die Datenklasse einen entsprechenden Konstruktor, Getter zu allen Attributen sowie entsprechende Implementierungen der Object-Methoden besitzt
14-
- Der Stereotyp `<<enumeration>>` impliziert, dass die Aufzählung einen passenden, privaten Konstruktor sowie gegebenenfalls passende Getter für alle Attribute besitzt
10+
- Die in dieser Klausur verwendeten Personenbezeichnungen beziehen sich – sofern
11+
nicht anders kenntlich gemacht – auf alle Geschlechter
12+
- Es kann davon ausgegangen werden, dass sämtliche Klassen entsprechende
13+
Implementierungen der Object-Methoden besitzen
14+
- Der Stereotyp `<<record>>` impliziert, dass die Datenklasse einen
15+
entsprechenden Konstruktor, Getter zu allen Attributen sowie entsprechende
16+
Implementierungen der Object-Methoden besitzt
17+
- Der Stereotyp `<<enumeration>>` impliziert, dass die Aufzählung einen
18+
passenden, privaten Konstruktor sowie gegebenenfalls passende Getter für alle
19+
Attribute besitzt
1520
- Pakete und Klassenimporte müssen nicht angegeben werden
1621
- Für die Konsolenausgabe kann das Kürzel _sysout_ verwendet werden
17-
- Methoden- und Attributsbezeichner dürfen sinnvoll gekürzt geschrieben werden (Beispiel _testGMPSH()_ statt _testGetMostPowerfulSuperHuman()_)
22+
- Methoden- und Attributsbezeichner dürfen sinnvoll gekürzt geschrieben werden
23+
(Beispiel _testGMPSH()_ statt _testGetMostPowerfulSuperHuman()_)
1824

1925
## Aufgabe 1 (14 Punkte)
2026

21-
Erstelle die JUnit-5-Testklasse `SuperLeagueTest` anhand des abgebildeten Klassendiagramms.
27+
Erstelle die JUnit-5-Testklasse `SuperLeagueTest` anhand des abgebildeten
28+
Klassendiagramms.
2229

2330
### Klassendiagramm
2431

@@ -81,18 +88,31 @@ classDiagram
8188

8289
### Hinweise zur Klasse SuperLeagueTest
8390

84-
- Die Lebenszyklus-Methode `void setUp()` soll das nachfolgende Testszenario aufbauen:
85-
- Es sollen die Superhelden Superman (DC, Stärke 10), Iron Man (MARVEL, 7) und Spider-Man (MARVEL, 8) erstellt und den entsprechenden Attributen zugewiesen werden
86-
- Es soll eine MARVEL-Superheldenliga mit dem Namen _Avengers_ erstellt und dem entsprechenden Attribut zugewiesen werden
87-
- Die Superhelden Iron Man und Spider-Man sollen den Avengers als verfügbaren Superhelden hinzugefügt werden
88-
- Der Superheld mit dem Namen Spider-Man soll auf eine Mission geschickt werden
89-
- Die Testmethode `void testAddSuperHuman()` soll prüfen, ob beim Aufruf der Methode `void addSuperHuman(t: T)` auf das Attribut `avengers` mit dem Wert `superman` die Ausnahme `WrongUniverseException` ausgelöst wird
90-
- Die Testmethode `void testGetAllAvailableSuperHumans()` soll prüfen, ob beim Aufruf der Methode `List<T> getAllAvailableSuperHumans()` auf das Attribut `avengers` eine Liste der Größe 1 zurückgegeben wird
91-
- Die Testmethode `void testGetMostPowerfulSuperHuman()` soll prüfen, ob beim Aufruf der Methode `Optional<T> getMostPowerfulSuperHuman()` auf das Attribut `avengers` der Superheld Spider-Man als Optional zurückgegeben wird
91+
- Die Lebenszyklus-Methode `void setUp()` soll das nachfolgende Testszenario
92+
aufbauen:
93+
- Es sollen die Superhelden Superman (DC, Stärke 10), Iron Man (MARVEL, 7) und
94+
Spider-Man (MARVEL, 8) erstellt und den entsprechenden Attributen zugewiesen
95+
werden
96+
- Es soll eine MARVEL-Superheldenliga mit dem Namen _Avengers_ erstellt und
97+
dem entsprechenden Attribut zugewiesen werden
98+
- Die Superhelden Iron Man und Spider-Man sollen den Avengers als verfügbaren
99+
Superhelden hinzugefügt werden
100+
- Der Superheld mit dem Namen Spider-Man soll auf eine Mission geschickt
101+
werden
102+
- Die Testmethode `void testAddSuperHuman()` soll prüfen, ob beim Aufruf der
103+
Methode `void addSuperHuman(t: T)` auf das Attribut `avengers` mit dem Wert
104+
`superman` die Ausnahme `WrongUniverseException` ausgelöst wird
105+
- Die Testmethode `void testGetAllAvailableSuperHumans()` soll prüfen, ob beim
106+
Aufruf der Methode `List<T> getAllAvailableSuperHumans()` auf das Attribut
107+
`avengers` eine Liste der Größe 1 zurückgegeben wird
108+
- Die Testmethode `void testGetMostPowerfulSuperHuman()` soll prüfen, ob beim
109+
Aufruf der Methode `Optional<T> getMostPowerfulSuperHuman()` auf das Attribut
110+
`avengers` der Superheld Spider-Man als Optional zurückgegeben wird
92111

93112
### Hinweis zur Klasse SuperLeague
94113

95-
Die Methode `void addSuperHuman(t: T)` kann die Ausnahme `WrongUniverseException` auslösen.
114+
Die Methode `void addSuperHuman(t: T)` kann die Ausnahme
115+
`WrongUniverseException` auslösen.
96116

97117
### Musterlösung
98118

@@ -135,7 +155,8 @@ public class SuperLeagueTest { // 0,5
135155

136156
## Aufgabe 2 (16 Punkte)
137157

138-
Erstelle die Klasse `SuperLeague<T extends SuperHuman>` anhand des abgebildeten Klassendiagrams.
158+
Erstelle die Klasse `SuperLeague<T extends SuperHuman>` anhand des abgebildeten
159+
Klassendiagrams.
139160

140161
### Klassendiagramm
141162

@@ -185,11 +206,19 @@ classDiagram
185206

186207
### Hinweise zur Klasse SuperLeague<T extends SuperHuman\>
187208

188-
- Der Assoziativspeicher `members` beinhaltet als Schlüssel alle Übermenschen der Liga sowie als Wert deren Verfügbarkeit (verfügbar: `true`, nicht verfügbar: `false`)
189-
- Die Methode `Optional<T> getMostPowerfulSuperHuman()` soll den stärksten Übermenschen der Liga als Optional zurückgeben
190-
- Die Methode `void addSuperHuman(t: T)` soll der Liga den eingehenden Übermenschen als verfügbares Mitglied hinzufügen. Für den Fall, dass das Universum des eingehenden Übermenschen nicht dem Universum der Liga entspricht, soll die Ausnahme `WrongUniverseException` ausgelöst werden
191-
- Die Methode `List<T> getAllAvailableSuperHumans()` soll alle verfügbaren Übermenschen der Liga als Liste zurückgeben
192-
- Die Methode `void sendSuperHumanOnMission(t: T)` soll die Verfügbarkeit des eingehenden Übermenschen auf nicht verfügbar setzen
209+
- Der Assoziativspeicher `members` beinhaltet als Schlüssel alle Übermenschen
210+
der Liga sowie als Wert deren Verfügbarkeit (verfügbar: `true`, nicht
211+
verfügbar: `false`)
212+
- Die Methode `Optional<T> getMostPowerfulSuperHuman()` soll den stärksten
213+
Übermenschen der Liga als Optional zurückgeben
214+
- Die Methode `void addSuperHuman(t: T)` soll der Liga den eingehenden
215+
Übermenschen als verfügbares Mitglied hinzufügen. Für den Fall, dass das
216+
Universum des eingehenden Übermenschen nicht dem Universum der Liga
217+
entspricht, soll die Ausnahme `WrongUniverseException` ausgelöst werden
218+
- Die Methode `List<T> getAllAvailableSuperHumans()` soll alle verfügbaren
219+
Übermenschen der Liga als Liste zurückgeben
220+
- Die Methode `void sendSuperHumanOnMission(t: T)` soll die Verfügbarkeit des
221+
eingehenden Übermenschen auf nicht verfügbar setzen
193222

194223
### Musterlösung
195224

@@ -286,11 +315,25 @@ classDiagram
286315

287316
### Hinweise zur Klasse SingleQueries
288317

289-
- Die Methode `void printAllSinglesWithMoreThan25MillionSalesPerCountry()` soll alle Singles, die sich mehr als 25 Millionen mal verkauft haben, gruppiert nach dem Land in der Form _[Land\]: [[Single\], [Single\],...\]_ ausgeben
290-
- Die Methode `void printAverageBirthYearOfAllDeceasedArtists()` soll das durchschnittliche Geburtsjahr aller verstorbenen Künstler bzw. aller verstorbenen Künstlerinnen ausgeben. Für den Fall, dass es keinen verstorbenen Künstler bzw. keine verstorbene Künstlerin gibt, soll der Wert -1 ausgegeben werden
291-
- Die Methode `boolean isAnySingleFromChinaWithMoreThan10MillionSales()` soll zurückgeben, ob es eine Single eines Künstlers bzw. einer Künstlerin aus China gibt, welches sich mehr als 10 Millionen Mal verkauft hat
292-
- Die Methode `List<String> getTop3SinglesOfThisCenturyBySalesInMillions()` soll die 3 am häufigsten verkauften Singles des jetzigen Jahrtausends sortiert nach der Anzahl Verkäufe in Millionen in der Form _[Name der Single\]: [Name des Künstlers bzw. Name der Künstlerin\], [Verkäufe in Millionen\] Millionen_ zurückgeben
293-
- Die Methode `List<Single> getAllSinglesFromEdSheeran()` soll alle Singles des Künstlers Ed Sheeran (Land: Großbritannien, Geburtstag: 17.02.1991, Status: lebendig) zurückgeben
318+
- Die Methode `void printAllSinglesWithMoreThan25MillionSalesPerCountry()` soll
319+
alle Singles, die sich mehr als 25 Millionen mal verkauft haben, gruppiert
320+
nach dem Land in der Form _[Land\]: [[Single\], [Single\],...\]_ ausgeben
321+
- Die Methode `void printAverageBirthYearOfAllDeceasedArtists()` soll das
322+
durchschnittliche Geburtsjahr aller verstorbenen Künstler bzw. aller
323+
verstorbenen Künstlerinnen ausgeben. Für den Fall, dass es keinen verstorbenen
324+
Künstler bzw. keine verstorbene Künstlerin gibt, soll der Wert -1 ausgegeben
325+
werden
326+
- Die Methode `boolean isAnySingleFromChinaWithMoreThan10MillionSales()` soll
327+
zurückgeben, ob es eine Single eines Künstlers bzw. einer Künstlerin aus China
328+
gibt, welches sich mehr als 10 Millionen Mal verkauft hat
329+
- Die Methode `List<String> getTop3SinglesOfThisCenturyBySalesInMillions()` soll
330+
die 3 am häufigsten verkauften Singles des jetzigen Jahrtausends sortiert nach
331+
der Anzahl Verkäufe in Millionen in der Form _[Name der Single\]: [Name des
332+
Künstlers bzw. Name der Künstlerin\], [Verkäufe in Millionen\] Millionen_
333+
zurückgeben
334+
- Die Methode `List<Single> getAllSinglesFromEdSheeran()` soll alle Singles des
335+
Künstlers Ed Sheeran (Land: Großbritannien, Geburtstag: 17.02.1991, Status:
336+
lebendig) zurückgeben
294337

295338
### Musterlösung
296339

0 commit comments

Comments
 (0)