AutoFeedback API

Result a3567358-3506-435e-8bce-49f8bac3e83c

{
  "llm" : {
    "feedback" : "# Exercise: todo\n\n### Correctness\n- Die drei geforderten Methoden `listTasks(boolean all)`, `addTask(String description)` und `markTaskDone(int id)` sind noch nicht implementiert.\n- Es fehlt das geforderte `Task`-Modell (Klasse `Task` inkl. Felder wie `id`, `description`, `done` und `toString()`), das für Ausgabe und “mark done” notwendig ist.\n- Es fehlt das in der Aufgabenstellung verlangte Array für `Task`-Objekte in `ToDoApp` (z. B. ein `Task[]` als Speicher), sodass aktuell keine Tasks gespeichert werden können.\n\n### Suggestion\n- Überlege dir zuerst, welche Informationen ein Task-Objekt minimal speichern muss, damit `add`, `list` und `mark done` funktionieren (ID, Beschreibung, Erledigt-Status) und implementiere darauf basierend die `Task`-Klasse inkl. `toString()`.\n- Lege in `ToDoApp` eine Struktur an, die mehrere Tasks speichern kann (laut Aufgabe ein Array) und überlege, wie du den “nächsten freien Platz” findest, um daraus die ID abzuleiten.\n- Für `listTasks`: Du brauchst eine Schleife über die gespeicherten Tasks und eine Bedingung, die entweder alle oder nur die noch nicht erledigten Tasks ausgibt; denk auch daran, wie du erkennst, ob gar nichts ausgegeben wurde, um dann `\"(No tasks)\"` zu drucken.\n- Für `markTaskDone`: Prüfe, ob zur gegebenen ID tatsächlich ein Task existiert (ID entspricht Array-Index) und gib sonst exakt die verlangte Meldung aus.\n\n### Code Style\n- Lass die `// TODO`-Marker nach der Implementierung nicht stehen, damit klar ist, dass der Code fertig ist.\n\n\n# Exercise: energymeter\n\n### Correctness\n- Es fehlen die beiden Attribute `capacity` und `level`.\n- Es fehlt der Konstruktor `EnergyMeter(double capacity)`.\n- Es fehlen die Methoden `fill(double energy)`, `consume(double intensity, double duration)` und `percentFull()`.\n- Damit kann die Klasse die vorgegebenen Unit-Tests nicht erfüllen (die erwarteten Elemente sind nicht implementiert).\n\n### Suggestion\n- Schau dir die Tabelle in der Aufgabenstellung an und implementiere genau die dort aufgelisteten Elemente (Namen, Parameter, Rückgabetypen).\n- Starte mit dem Konstruktor: Er sollte die Kapazität setzen und den Anfangsfüllstand sinnvoll initialisieren.\n- Implementiere danach `fill` und `consume` so, dass der `level`-Wert angepasst wird, aber innerhalb eines sinnvollen Bereichs bleibt (nicht über die Kapazität, nicht unter 0).\n- `percentFull()` sollte aus `level` und `capacity` einen Prozentwert berechnen; überlege auch, was passieren soll, wenn die Kapazität 0 ist (Division durch 0 vermeiden).\n\n### Code Style\n- Aktuell ist nur ein `// TODO` vorhanden; sobald du implementierst, achte darauf, die Methodensignaturen exakt wie gefordert zu übernehmen, damit die Tests sie finden.\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 Attribut-Bezeichnung `averageSteps` passt nicht zur Aufgabenbeschreibung (dort wird `averageSteps`/`avgSteps` als `stats.averageSteps` bzw. im Beispiel `stats.avgSteps` verwendet); wenn die Tests/Checker exakt auf den Namen `averageSteps` vs. `averageSteps`/`avgSteps` prüfen, kann das zu einem Fehlschlag führen.\n- In der Aufgabenbeschreibung wird die Verwendung explizit so gezeigt: `int successDays = stats.successDays; double avgSteps = stats.averageSteps; int min = stats.minSteps; int max = stats.maxSteps;` — bei dir heißt das Attribut zwar `averageSteps`, aber im Text steht `averageSteps` (während das Beispiel `avgSteps` nutzt). Du solltest sicherstellen, dass dein Attributname exakt dem geforderten Interface entspricht (je nachdem, was in der Übungsumgebung erwartet wird).\n\n### Suggestion\n- Schau in der Aufgabenstellung bzw. in den bereitgestellten Tests/Signaturen nach, welche Attributnamen genau erwartet werden (insbesondere der Durchschnitt: `avgSteps` vs. `averageSteps`). Wenn dort ein bestimmter Name vorgegeben ist, übernimm ihn 1:1.\n\n### Code Style\n- In `StepTracker` wirkt es so, als würdest du in einem Skript-/Template-Kontext arbeiten (`void main()` mit `IO...`). Achte darauf, dass Package/Imports/Klassenstruktur konsistent zur übrigen Vorlage sind (z. B. `public class StepTracker` + `public static void main(String[] args)`), falls das in eurer Abgabeumgebung erwartet wird.\n- Du könntest in `StepTracker` direkt `stats.successDays` etc. beim Ausgeben verwenden; die extra lokalen Variablen sind nicht falsch, aber etwas redundant.\n",
    "status" : "SUCCESS"
  }
}