{
"llm" : {
"feedback" : "# Exercise: todo\n\nLlm Evaluation ist für diese Aufgabe deaktiviert. Entferne die .llmignore Datei vom Package der Aufgabe.\n\n\n# Exercise: energymeter\n\n### Correctness\n- Der Konstruktor setzt den Startfüllstand (`level`) nicht explizit auf 0; je nach Erwartung der Unit-Tests muss der Meter nach dem Erzeugen garantiert leer sein.\n- `percentFull()` liefert bei `level == 0` nicht 0, sondern erzeugt eine Division durch 0 (weil du durch `(capacity / level)` teilst); das verletzt die erwartete Prozent-Berechnung für leere Meter.\n\n### Suggestion\n- Schau im Konstruktor nach, ob der Anfangszustand des Meters klar definiert ist (Kapazität gesetzt und Füllstand initialisiert), unabhängig von Java-Defaultwerten.\n- Für `percentFull()`: Überlege dir eine Formel, die direkt „(aktueller Füllstand / Kapazität) * 100“ ausdrückt, und prüfe dabei explizit die Randfälle `capacity == 0` und `level == 0`, damit keine Division durch 0 auftreten kann.\n\n### Code Style\n- Die Attribute und Methoden sind `public`; in solchen Aufgaben wird oft erwartet, dass Felder gekapselt sind (z. B. nicht direkt von außen veränderbar). Prüfe, ob die Unit-Tests direkten Zugriff brauchen oder nur die Methoden nutzen.\n- Vermeide „magische“ Umformungen wie `100 / (capacity / level)`; eine direktere, leichter lesbare Berechnung macht die Intention klarer und reduziert Fehlerrisiko.\n\n\n# Exercise: pong\n\nLlm Evaluation ist für diese Aufgabe deaktiviert. Entferne die .llmignore Datei vom Package der Aufgabe.\n\n\n# Exercise: stepstats\n\n### Correctness\n- Die geforderte Verwendung nennt das Attribut `averageSteps` nicht, sondern `averageSteps`/`avgSteps` ist in der Aufgabenbeschreibung als `averageSteps`? In der Vorgabe steht explizit `double avgSteps = stats.averageSteps;` (Variable heißt `avgSteps`, Attribut heißt `averageSteps`). Du hast das Attribut `averageSteps` korrekt, aber falls im Test/Checker ein anderes Attribut (z. B. `avgSteps`) erwartet wird, führt das zu einem Mismatch.\n\n### Suggestion\n- Vergleiche die Attributnamen deiner Klasse exakt mit denen, die in der Aufgabenbeschreibung für den Zugriff gezeigt werden (`stats.successDays`, `stats.averageSteps`, `stats.minSteps`, `stats.maxSteps`). Falls ein automatischer Test läuft, müssen diese Namen oft 1:1 passen.\n\n### Code Style\n- In `computeStatistics` verwendest du lokale Variablen mit denselben Namen wie die Felder (`successDays`, `minSteps`, `maxSteps`). Das ist zwar legal, aber leicht verwirrend (Shadowing). Überlege, entweder direkt auf die Felder zu rechnen (mit `this.`) oder die lokalen Variablen anders zu benennen.\n- Da laut Aufgabe „die Berechnungen im Konstruktor durchgeführt“ werden sollen, ist eine zusätzliche öffentliche Methode `computeStatistics` nicht zwingend nötig. Wenn du sie behältst, wäre mindestens zu überlegen, ob sie wirklich `public` sein sollte.\n- Initialwerte der Felder `minSteps`/`maxSteps` als `0` sind etwas irreführend, weil sie vor der Berechnung keinen sinnvollen Zustand repräsentieren. Entweder sinnvoll initialisieren oder erst nach der Berechnung setzen (was du ohnehin tust).\n",
"status" : "SUCCESS"
}
}