These exercises are unmarked and open-ended to allow you to practice and revise topics you want to spend more time on, and to steer you through combinations of areas that haven't been used much together so far.
- Card games: work with generics, implementing interfaces, arrays, and inheritance.
- Disk usage calculator: work with methods that call themselves ("recursive" methods)
- Contact list: work with inheritance, interfaces, methods, and lists
- Address database: work with objects and classes
- Fish tank: work with objects, interfaces, inheritance, arrays, sets
- Restaurant stock: work with maps, sets, lists
- Lottery picking exercise: work with arrays and Scanners
- Train exercise: work with objects, generics, and recursive structures.
- Collection implementation: work with arrays, generics, and implementing an interface.