{
"llm" : {
"feedback" : "# Exercise: address\n\n### Correctness\n- Deine `format()`-Methode ist nicht `public`; damit erfüllt sie die Anforderung „Schreibe eine format-Methode“ ggf. nicht, falls sie von außen aufgerufen werden soll (was naheliegt).\n- Die Aufgabe verlangt „Getter- und Setter-Methoden“ (im Kontext saubere Kapselung). Wenn die `format()`-Methode nicht öffentlich ist, ist die Klasse nach außen nicht vollständig nutzbar wie gefordert.\n\n### Suggestion\n- Überlege dir, von wo aus `format()` typischerweise verwendet wird (z.B. aus einem anderen Package / einer anderen Klasse). Passe die Sichtbarkeit so an, dass man die formatierte Adresse auch wirklich von außen abfragen kann.\n\n### Code Style\n- Verwende bei Konstanten üblichkeitsgemäß die Schreibweise `private static final ...` (Reihenfolge), auch wenn es funktional keinen Unterschied macht.\n- Bei `IllegalArgumentException` ist eine kurze Fehlermeldung oft hilfreich (z.B. welches Argument ungültig war), damit man beim Testen schneller sieht, was schief lief.\n\n\n# Exercise: timespan\n\nLlm Evaluation ist für diese Aufgabe deaktiviert. Entferne die .llmignore Datei vom Package der Aufgabe.\n\n\n# Exercise: asteroids\n\nLlm Evaluation ist für diese Aufgabe deaktiviert. Entferne die .llmignore Datei vom Package der Aufgabe.\n\n\n# Exercise: smarthome\n\n### Correctness\n- In `turnNextRoomBright` setzt du zwar am Ende alle Lampen im gefundenen Raum auf volle Helligkeit und an, aber beim Suchen markierst du den Raum als “needs update”, ohne sicherzustellen, dass wirklich **nicht alle** Lampen im Raum korrekt sind (du prüfst das zwar pro Lampe, aber du brichst die Prüfung nicht ab und überschreibst das Ergebnis nicht mehr). Dadurch ist die Logik zwar oft richtig, aber sie erfüllt die Anforderung “findet den ersten Raum, in dem nicht alle Lampen … sind” nicht sauber, weil du den Raum auch dann als Kandidat nimmst, wenn später im selben Raum alle Lampen doch okay wären (das passiert bei deinem Code nicht, sobald einmal ein “nicht okay” gefunden wurde, aber die Struktur entspricht nicht der geforderten “alle Lampen”-Aussage).\n- In `nightMode` schaltest du in Hallway und Bedrooms jeweils `lamps[0]` ein. Das ist nur dann sicher “beliebig”, wenn garantiert jeder dieser Räume mindestens eine Lampe hat; die Aufgabenstellung sagt das nicht explizit.\n- In `findBedrooms` ist das zurückgegebene Array **nicht** “auch grösser als nötig” und enthält keine `null`-Einträge; das ist zwar erlaubt, aber du erfüllst den Teil der Spezifikation (“darf auch…”) nicht wirklich in dem Sinn, wie er gedacht ist (feste Maximalgrösse bis `rooms.length` wäre ebenfalls erlaubt und näher an der Vorgabe).\n\n### Suggestion\n- Für `turnNextRoomBright`: Überlege dir, wie du pro Raum eine Variable führen kannst, die ausdrückt “alle Lampen sind korrekt”, und erst **nachdem** du alle Lampen geprüft hast entscheidest, ob der Raum der gesuchte ist. Damit passt die Blockstruktur besser zur Aussage “nicht alle Lampen…”.\n- Für `nightMode`: Denke darüber nach, wie du “beliebige Lampe” einschaltest, ohne dich auf Index `0` verlassen zu müssen. Eine kleine Hilfsmethode, die in einem Raum “eine Lampe, falls vorhanden” aktiviert, würde hier helfen.\n- Für `findBedrooms`: Wenn du die Spezifikation wörtlich ausnutzen willst, könntest du ein Array der Länge `rooms.length` erstellen und beim Befüllen einen separaten Zähler verwenden, statt das Array schrittweise zu vergrössern.\n\n### Code Style\n- Du importierst `java.util.Arrays` nur für das wiederholte `copyOf` in `findBedrooms`; das führt zu unnötigen Kopieroperationen in einer Schleife. Sauberer wäre eine Lösung ohne wiederholtes Reallokieren.\n- In `turnNextRoomBright` sind grosse auskommentierte Code-Blöcke drin; die solltest du entfernen, sobald du dich für eine Variante entschieden hast.\n- Konstanten wie `MAX_BRIGHTNESS` und `MAX_VALUE_RANDOMIZE` sind als `int`/`double` gemischt (`1` vs `1.0`). Einheitliche Literale (z.B. überall `1.0`) machen Vergleiche/Lesbarkeit klarer.\n- `findHallway` benutzt einen early return; in der Aufgabenbeschreibung wird explizit empfohlen, early returns zu vermeiden.\n\n\n# Exercise: bosses\n\nLlm Evaluation ist für diese Aufgabe deaktiviert. Entferne die .llmignore Datei vom Package der Aufgabe.\n",
"status" : "SUCCESS"
}
}