Defizit-Analyse

Aus der Klausureinsicht vom 04.05.2026 (Steffen Merk). Reihenfolge nach Häufigkeit/Punkteverlust.

Punktestand Klausur 24.04.2026

KlassePunkteHauptkritik
Information2,5 / 2,75else mit return false fehlte
Ticketvoll
ProfessionalAbzug 1,25kein new Ticket(...) erzeugt; Konstruktor falsch
Student3 / 3
Room (abstract)5 / 10,75Liste < int, kein else, Comparable fehlt
LectureHall2,25 / 6,75kein null-Check, instanceof fehlt, super.enter fehlt
BlockedRoom~1 / 2,5Room.isFree(false) ist Unsinn
MeetingRoom~2,75name == "ALLACCESS" ungültig
ConferenceCenter0Konstruktor-Überladung nicht verstanden
ExamTask1,5add statt enter, kein try/catch

Top-10 Defizite

D1Liste vs. Größe
Du hast if (attendees < maxAttendees) geschrieben – das vergleicht ein Listenobjekt mit einer Zahl. Richtig: if (attendees.size() < maxAttendees). Übung: 01-else-block.
D2else-Block fehlt
In fast jeder Methode: nur der true-Pfad, kein else { return false; }.
D3Comparable nicht implementiert
compareTo muss 1 / -1 / 0 zurückgeben – du hattest sort.attendees, was es nicht gibt. Übung: 02-comparable.
D4instanceof statt Attributzugriff
Du hast attendee.Professional geschrieben – Professional ist eine Klasse, kein Attribut von Attendee. Richtig: attendee instanceof Professional. Übung: 03-instanceof.
D5null-Check fehlt
Komplexe Datentypen sind per Default null. isSpeakerPresent() prüft mit if (speaker == null) return false;. Übung: 04-null-check.
D6Konstruktor-Verkettung mit this(...)
Bei überladenem Konstruktor ruft der Default-Konstruktor den Voll-Konstruktor auf: this(name, 4);. Du hast Parameter doppelt erfunden (numberOfFloors). Übung: 05-konstruktor-this.
D7static vs. Instanz
Room.attendees.add(...) ist falsch (statisch). Auf Instanzfeldern: this.attendees.add(...) bzw. innerhalb der Klasse einfach attendees.add(...). Übung: 06-static-vs-instance.
D8Exception ohne Nachricht
throw new NotAllowedException(getMessage()) – die Methode existiert nicht. Richtig: throw new NotAllowedException("Raum ist voll", this);. Übung: 07-exception-message.
D9super.enter(...) vergessen
In Subklassen wird die Logik des Oberraums gebraucht: super.enter(attendee);. Übung: 08-super-enter.
D10String-Vergleich mit ==
name == "ALLACCESS" vergleicht Referenzen. Richtig: "ALLACCESS".equals(name) (null-sicher).

Diagnose Steffen Merk (wörtlich)

„Das sieht für mich halt so aus, als würde man auswendig lernen."
„Dieses Verständnis von Objekten und statischen Attributen / statischen Methoden, das ist halt schon ein Problem."