Computer Science
System Software
Home
General
Staff
Contact
Partners
Alumni
Research
Areas
Projects
Papers
Books
Reports
Awards
Teaching
Lectures
Exams
B.Theses
M.Theses
PhD Theses
Go Abroad
Misc
Talks
Library
Gallery
Links
Search
Webmaster
Hanspeter Mössenböck
Sprechen Sie Java?
Eine Einführung in das systematische Programmieren
dpunkt.verlag, 5. Auflage, 2014
Musterlösungen zu den Übungsaufgaben
1. Grundlagen
Aufgaben 1-12
(als PDF)
2. Einfache Programme
Aufgaben 1-6, 12
(als PDF)
Aufgabe 7: Zeitrechnung
Aufgabe 8: Polynomberechnung
Aufgabe 9: Abstand zwischen Punkten
Aufgabe 10: Abrechnung
Aufgabe 11: Politikergehälter
3. Verzweigungen
Aufgabe 1: Verzweigungen
Aufgabe 2: Dreiecksbestimmung
Aufgaben 3-6, 12
(als PDF)
Aufgabe 7: Sortieren dreier Zahlen
Aufgabe 8: Plausibilitätsprüfungen
Aufgabe 9: Wochentagsberechnung
Aufgabe 10: Überlaufsprüfung
Aufgabe 11: Schnitt zweier Linien
4. Schleifen
Aufgaben 1, 4, 8
(als PDF)
Aufgabe 2: Anzahl der Ziffern einer Zahl
Aufgabe 3: Ziffernsumme einer Zahl
Aufgabe 5: Binärzahlen als Mengen
Aufgabe 6: Zahlenstatistik
Aufgabe 7: Primfaktorenzerlegung
5. Gleitkommazahlen
Aufgabe 1: Berechnung von Pi
Aufgabe 2: Berechnung des Arcussinus
Aufgabe 3: Widerstandsberechnung
Aufgabe 4: Zinseszinstabelle
6. Methoden
Aufgabe 1: Kubikwurzel einer Zahl
Aufgabe 2: Flächenberechnung eines Dreiecks
Aufgabe 3: Konvertieren einer Binärzahl in eine Dezimalzahl
Aufgaben 4-6
(als PDF)
7. Arrays
Aufgabe 1: Array invertieren
Aufgabe 2: Matrixmultiplikation
Aufgabe 3: Diagonalsummen
Aufgabe 4: Matrixtransponation
Aufgabe 5: Summe von Teilfolgen
Aufgabe 6: Magisches Quadrat
Aufgabe 7: Fehlerstreuung
Aufgabe 8: Spiel des Lebens
Aufgabe 9: Lösung eines linearen Gleichungssystems
Aufgabe 10: Auswahlsortieren
Aufgabe 11: Austauschsortieren (Bubble Sort)
Aufgabe 12: Assertionen
(als PDF)
Aufgabe 13: Iterator-Form der for-Anweisung
Aufgabe 14: Iterator-Form der for-Anweisung
Aufgabe 15: Variable Anzahl von Parametern
Aufgabe 16: Variable Anzahl von Parametern
8. Zeichen
Aufgabe 1: Hexadezimalausgabe
Aufgabe 2: Prüfsumme
Aufgabe 3: Entfernen von Kommentaren
Aufgabe 4: Konsonantenzählung
Aufgabe 5: Häufigkeit von Zeichen
Aufgabe 6: Textverschlüsselung
9. Strings
Aufgabe 1: Hashcode-Berechnung
Aufgabe 2: Domainnamen spiegeln
Aufgabe 3: Namen umformatieren
Aufgabe 4: Lauflängencodierung
Aufgabe 5: Anagramme
Aufgabe 6: Mustersuche
Aufgabe 7: Konvertierung von float nach String
Aufgabe 8: Stringvergleich
Aufgabe 9: Ausgaberoutine mit variabler Anzahl von Parametern
10. Klassen
Aufgabe 1: Artikelverwaltung
Aufgabe 2: Schneiden von Rechtecken
Aufgabe 3: Datumsberechnung
Aufgabe 4: Kundenkartei
11. Objektorientierung
Aufgabe 1: Zahlenmengen
Aufgabe 2: Zahlenmengen beliebiger Größe
Aufgabe 3: Vektoren
Aufgabe 4: Komplexe Zahlen
Aufgabe 5: Prioritätenschlange
Aufgabe 6: Wörterbuch
Aufgabe 7: Uhrzeiten
12. Dynamische Datenstrukturen
Aufgabe 1: Maximumssuche
Aufgabe 2: Umordnung einer Liste
Aufgabe 3: Invertieren einer Liste
Aufgabe 4: Doppelt verkettete Liste
Aufgabe 5: Bibliotheksverwaltung
Aufgabe 6: Notenstatistik
Aufgabe 7: Codeverbesserung
(als PDF)
13. Vererbung
Aufgabe 1: Erweiterung von Fraction
Aufgabe 2: Erweiterung von Stack
Aufgabe 3: Klassifikation
(als PDF)
Aufgabe 4: Generische sortierte Liste
14. Enumerationstypen
Aufgabe 1: Vor- und Nachteile von Enumerationskonstanten
(als PDF)
Aufgabe 2: Unfallstatistik
Aufgabe 3: Arithmetische Operationen
Aufgabe 4: Black Jack
15. Generizität
Aufgabe 1: Zuweisungskompatibilität
(als PDF)
Aufgabe 2: Generischer Puffer als Array
Aufgabe 3: Generischer Puffer als Liste
Aufgabe 4: Sortierte generische Liste
Aufgabe 5: Wildcards
Aufgabe 6: Generische Methoden
16. Rekursion
Aufgabe 1: Fibonacci-Zahlen
Aufgabe 2: Rekursive Verwaltung von Listen
Aufgabe 3: Spiegeln einer Zeichenfolge
Aufgabe 4: Binomialkoeffizient
Aufgaben 5, 6, 8
(als PDF)
Aufgabe 7: Türme von Hanoi
Aufgabe 9: Rekursive Ausgabe einer Zahl
17. Schrittweise Verfeinerung
Aufgaben 1-7
(als PDF)
Aufgabe 1: Würfelspiel
Aufgabe 2: Textzentrierung
Aufgabe 3: Tic-Tac-Toe
Aufgabe 4: Galton-Brett
Aufgabe 5: Stichwortverzeichnis
Aufgabe 6: Wortliste
Aufgabe 7: Auswertung von Lottoscheinen
18. Pakete
Aufgabe 2: Dokumentation mit javadoc
Aufgabe 3: Paket util
Testprogramm
Klasse Stack (in Unterverzeichnis util)
Klasse Queue (in Unterverzeichnis util)
19. Ausnahmebehandlung
Aufgaben 1-2
(als PDF)
Aufgabe 3: Telefonbuch
Aufgabe 4: Lesen einer Zahl
Aufgabe 5: Datumsklasse
20. Threads
Aufgabe 1: Ein/Ausgabe-Threads
Aufgabe 2: Monitore
Aufgabe 3: Speisende Philosophen
21. Lambda-Ausdrücke
Aufgabe 1: Filtermethode
Aufgabe 2: Generische Filtermethode
Aufgabe 3: Generische Suchmethode
Aufgabe 4: Funktionstabelle
Aufgabe 5: Konvertieren eines Strings
22. Annotationen
Aufgabe 1: Annotation @Comment
(siehe auch
Comment.java
und
A1Sample.java
)
Aufgabe 2: Annotation @Entry
(siehe auch
Entry.java
und
A2Stack.java
)
23. Auszüge aus der Java-Klassenbibliothek
Aufgabe 1: ArrayList
Aufgabe 2: TreeSet
Aufgabe 3: TreeMap
Aufgabe 4: HashMap und ArrayList
Aufgabe 5: Zeichenströme
Aufgabe 6: Byteströme
Aufgabe 7: Filterströme