6eabebff0085fe80f41aef4ac2346cf32436536e
- Combinations.tryUse: only write response when non-null and non-blank, preventing NPE/IllegalArgument for effects-only recipes. - CombinationFactory.fromDto: throw WorldLoadException when a == b, since item singletons make a self-combination impossible at runtime. - Tests: +effectsOnlyRecipeAppliesEffectsWithoutProduceOrResponse (CombinationsTest 7→8), +rejectsSelfCombination (CombinationFactoryTest 4→5). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Programmierung 2 — Algorithmen und Datenstrukturen
Code zu den Aufgabenblättern aus dem Modul Programmierung 2 (2. Semester).
Dieses Repo enthält ausschließlich den Java-Code. Aufgabenstellungen,
Lösungstexte und PDFs liegen außerhalb des Repos in
../Uebungen/<NN>/ (Nextcloud-synchronisiert, nicht versioniert).
Konvention siehe THB/README.md.
Repository klonen
git clone https://gitea.jeanlucmakiola.de/THB/Jander_Semester2.git code
cd code
(Lokal heißt der Checkout code per THB-Konvention; remote-Name bleibt
historisch Jander_Semester2.)
Struktur
code/
├── uebung_01/ - Aufgabenblatt 1
│ └── src/
│ ├── util/ - Hilfsklassen (Util, ArrayTester)
│ ├── task3/ - NumberGuesser + KI-Vergleich
│ ├── task4/ - AnagrammChecker + KI-Vergleich
│ ├── task5/ - PrimeNumberGenerator + KI-Vergleich
│ └── task6/ - Sorter + KI-Vergleich
└── uebung_02/ - Aufgabenblatt 2
└── src/
└── util/ - Hilfsklassen (Util, ArrayTester, IntArrayList, Sorter)
Die zugehörigen Aufgabenblätter und Lösungsdokumente liegen in:
../Uebungen/01/{Aufgabe.pdf, Loesung.md, Loesung.pdf, task1.png, task2.png, task5.png}
../Uebungen/02/{Aufgabe.pdf, Loesung.md}
Voraussetzungen
- Java 25+
- IntelliJ IDEA (empfohlen)
- Git (Setup-Anleitung)
Description
Languages
Java
100%