uebungen/readme.md

13 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 Stein, Papier, Schere, Echse, Spock
42. n/a Ausnahmen testen
43. n/a Eigene Ausnahmen schreiben und an entsprechender Stelle werfen
44. n/a Eigene Exception schreiben
45. n/a Handle-or-Declare-Regel anwenden
46. n/a Ausnahmen mit try und catch behandeln.
47. n/a BufferedReader zum zeilenweisen Lesen einsetzen
48. n/a DataOutputStream
49. n/a DataOutputStream durch Serialisierung ersetzen
50. n/a Daten mit DataOutputStream und DataInputStream verarbeiten
51. n/a Daten mit einem InputStream lesen
52. n/a Daten mit einem OutputStream schreiben
53. n/a Filesystem-Abstraktion mit File
54. n/a Fileattribute lesen
55. n/a FilterReader
56. n/a Konsolen Input/Output
57. n/a Zeilen einer Textdatei zählen
58. n/a RandomAccessFile
59. n/a Reader verwenden
60. n/a Rot13-Verschlüsselung
61. n/a Datei zerhacken
62. n/a Serialisierung
63. n/a Einen generischen Typ schreiben
64. n/a Generische Klasse Pair schreiben
65. n/a Generische Klasse Pair erweitern: NumberPair
66. n/a Generische Klasse Pair erweitern: SamePair
67. n/a PairList
68. n/a Wildcard benutzen
69. n/a Generische Queue
70. n/a super und extends einsetzen
71. n/a Generische Typen zusammen mit Wildcards einsetzen
72. n/a Eigene compare-Methode schreiben
73. n/a Innere Klasse Beobachter
74. n/a Callback mit anonymer Klasse realisieren
75. n/a Comparator als Lambda
76. n/a Callback mit Lambda realisieren
77. n/a MatrixSuche
78. n/a StringTransmogrifier
79. n/a StringTransmogrifier erweitern
80. n/a Iterator schreiben
81. n/a Iterator programmieren
82. n/a List<T> und dessen Implementierungen
83. n/a Map<T> verwenden
84. n/a ReverserGeneric
85. n/a Strings umgekehrt sortieren: Reverser
86. n/a Set<T> und dessen Implementierungen
87. n/a CommandLineSorter
88. n/a CommandLineSorter -- Version 2
89. n/a Comparator<T> verwenden und Objekte sortieren
90. n/a Wörterbuchprogramm