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 Eigene compare-Methode schreiben
75. n/a Innere Klasse Beobachter
76. n/a Callback mit anonymer Klasse realisieren
77. n/a Comparator als Lambda
78. n/a Callback mit Lambda realisieren
79. n/a MatrixSuche
80. n/a StringTransmogrifier
81. n/a StringTransmogrifier erweitern
82. n/a Static Member Class
83. n/a Iterator schreiben
84. n/a Mithilfe eines Iterators über Daten iterieren
85. n/a Iterator programmieren
86. n/a List<T> und dessen Implementierungen
87. n/a Map<T> verwenden
88. n/a ReverserGeneric
89. n/a Strings umgekehrt sortieren: Reverser
90. n/a Set<T> und dessen Implementierungen
91. n/a CommandLineSorter
92. n/a CommandLineSorter -- Version 2
93. n/a Comparator<T> verwenden und Objekte sortieren
94. n/a Wörterbuchprogramm