uebungen/readme.md

12 KiB

Programmieren 2 (Wintersemester 2023/2024)

Freiwillige Übungen

Hier finden Sie die freiwilligen Übungen zur Vorlesung Programmieren 2 (PR2). Die Übungen sind unten, zusammen mit dem Ausgabedatum, aufgelistet. Das Abgabedatum dient nur der Orientierung für Ihre persönliche Planung, da keine Abgabe erforderlich ist.

# Ausgabe Thema Musterlösung
1. n/a String in Großbuchstaben umwandeln
2. n/a Labeled Break
3. n/a Passwortbewertung
4. n/a printf mit Formatstring
5. n/a Maximum in einem Array suchen
6. n/a Taschenrechner
7. n/a Quine
8. n/a Java-Coding-Standard anwenden
9. n/a JavaDoc schreiben
10. n/a Klasse mit JUnit testen
11. n/a Information-Hiding einer Klasse verbessern
12. n/a Vorhandene Bibliotheken als JAR einbinden
13. n/a Final anwenden
14. n/a Figur und Rechteck
15. n/a Figur erweitern
16. n/a Figur noch einmal erweitern
17. n/a Konstruktoren schreiben
18. n/a Polymorphie einsetzen
19. n/a Singleton
20. n/a Statische Methoden und Attribute
21. n/a Methode überladen
22. n/a Methoden überschreiben
23. n/a Varag-Methode schreiben
24. n/a Vererbung von Figuren
25. n/a Abstrakte Klassen
26. n/a Abstrakte Klasse
27. n/a Comparable implementieren
28. n/a Interface Stack entwerfen
29. n/a Interface: Uebersetzer
30. n/a Interfaces anwenden und entwerfen
31. n/a Deep-Copy mit clone()
32. n/a Clone
33. n/a equals() und hashCode() implementieren und nutzen
34. n/a equals und hashCode
35. n/a toString()-Methode implementieren
36. n/a Optimierung bei Integer
37. n/a Methoden der Wrapper-Klassen
38. n/a Eigene Enumeration schreiben und verwenden
39. n/a Enumeration schreiben
40. n/a Singleton-Eigenschaft von Enumerationen
41. n/a Eine vorhandene Enumeration nutzen
42. n/a Stein, Papier, Schere, Echse, Spock
43. n/a Ausnahmen testen
44. n/a Eigene Ausnahmen schreiben und an entsprechender Stelle werfen
45. n/a Eigene Exception schreiben
46. n/a Handle-or-Declare-Regel anwenden
47. n/a Ausnahmen mit try und catch behandeln.
48. n/a BufferedReader zum zeilenweisen Lesen einsetzen
49. n/a DataOutputStream
50. n/a DataOutputStream durch Serialisierung ersetzen
51. n/a Daten mit DataOutputStream und DataInputStream verarbeiten
52. n/a Daten mit einem InputStream lesen
53. n/a Daten mit einem OutputStream schreiben
54. n/a Filesystem-Abstraktion mit File
55. n/a Fileattribute lesen
56. n/a FilterReader
57. n/a Konsolen Input/Output
58. n/a Zeilen einer Textdatei zählen
59. n/a RandomAccessFile
60. n/a Reader verwenden
61. n/a Rot13-Verschlüsselung
62. n/a Datei zerhacken
63. n/a Serialisierung
64. n/a Einen generischen Typ schreiben
65. n/a Generische Klasse Pair schreiben
66. n/a Generische Klasse Pair erweitern: NumberPair
67. n/a Generische Klasse Pair erweitern: SamePair
68. n/a PairList
69. n/a Wildcard benutzen
70. n/a Generische Queue
71. n/a super und extends einsetzen
72. n/a Generischen Typ verwenden
73. n/a Generische Typen zusammen mit Wildcards einsetzen
74. n/a Anonyme Klasse schreiben
75. n/a Eigene compare-Methode schreiben
76. n/a Innere Klasse Beobachter
77. n/a Callback mit anonymer Klasse realisieren
78. n/a Comparator als Lambda
79. n/a Callback mit Lambda realisieren
80. n/a Lokale Klasse schreiben
81. n/a MatrixSuche
82. n/a StringTransmogrifier
83. n/a StringTransmogrifier erweitern
84. n/a Nonstatic Member Class
85. n/a Static Member Class
86. n/a Iterator schreiben
87. n/a Mithilfe eines Iterators über Daten iterieren
88. n/a Iterator programmieren
89. n/a List<T> und dessen Implementierungen
90. n/a Map<T> verwenden
91. n/a ReverserGeneric
92. n/a Strings umgekehrt sortieren: Reverser
93. n/a Set<T> und dessen Implementierungen
94. n/a CommandLineSorter
95. n/a CommandLineSorter -- Version 2
96. n/a Comparator<T> verwenden und Objekte sortieren
97. n/a Wörterbuchprogramm