uebungen/readme.md

14 KiB

Programmieren 2 (Sommersemester 2023)

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.

Hinweise zur nötigen Softwareausstattung finden Sie hier.

# 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