Update of exercises
parent
732aab15c1
commit
4c324974f3
|
|
@ -1,6 +1,6 @@
|
||||||
# Abstrakte Klassen
|
# Abstrakte Klassen
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Eine abstrakte Klasse einsetzen, um eine einheitliche Schnittstelle für unterschiedliche Klassen anzubieten.
|
Eine abstrakte Klasse einsetzen, um eine einheitliche Schnittstelle für unterschiedliche Klassen anzubieten.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Abstrakte Klassen
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.interfaces.abstrakte_klassen_s](../../solutions/src/main/java/pr2/interfaces/abstrakte_klassen_s/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Abstrakte Klasse
|
# Abstrakte Klasse
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Abstrakte Klasse verwenden.
|
Abstrakte Klasse verwenden.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Abstrakte Klasse
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.interfaces.abstrakt_form](../../solutions/src/main/java/pr2/interfaces/abstrakt_form/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# String in Großbuchstaben umwandeln
|
# String in Großbuchstaben umwandeln
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
* Daten von der Kommandozeile lesen.
|
* Daten von der Kommandozeile lesen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Lösung: String in Großbuchstaben umwandeln
|
||||||
|
|
||||||
|
|
||||||
|
[pr2.auffrischung.grossmacher](../../solutions/src/main/java/pr2/auffrischung/grossmacher)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Labeled Break
|
# Labeled Break
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Ein labeled break verwenden.
|
Ein labeled break verwenden.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Lösung: Labeled Break
|
||||||
|
|
||||||
|
|
||||||
|
[pr2.auffrischung.labeled_break](../../solutions/src/main/java/pr2/auffrischung/labeled_break)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Passwortbewertung
|
# Passwortbewertung
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Einfache String-Verarbeitung.
|
Einfache String-Verarbeitung.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Lösung: Passwortbewertung
|
||||||
|
|
||||||
|
|
||||||
|
[pr2.auffrischung.password](../../solutions/src/main/java/pr2/auffrischung/password)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# printf mit Formatstring
|
# printf mit Formatstring
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Formatierung mit Formatstrings.
|
Formatierung mit Formatstrings.
|
||||||
|
|
@ -9,7 +9,7 @@ Formatierung mit Formatstrings.
|
||||||
|
|
||||||
Gehen Sie in das Paket [pr2.auffrischung.printf](../sources/src/main/java/pr2/auffrischung/printf).
|
Gehen Sie in das Paket [pr2.auffrischung.printf](../sources/src/main/java/pr2/auffrischung/printf).
|
||||||
|
|
||||||
Schauen Sie sich die JavaDoc der Methode `printf` in der Klasse `PrintStream` an.
|
Schauen Sie sich die Javadoc der Methode `printf` in der Klasse `PrintStream` an.
|
||||||
|
|
||||||
Schreiben Sie eine Methode `printDouble`, die eine beliebige double-Zahl mit immer genau drei Nachkommastellen ausgibt. Testen Sie die Methode mit einigen Testzahlen.
|
Schreiben Sie eine Methode `printDouble`, die eine beliebige double-Zahl mit immer genau drei Nachkommastellen ausgibt. Testen Sie die Methode mit einigen Testzahlen.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Lösung: printf mit Formatstring
|
||||||
|
|
||||||
|
|
||||||
|
[pr2.auffrischung.printf](../../solutions/src/main/java/pr2/auffrischung/printf)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Maximum in einem Array suchen
|
# Maximum in einem Array suchen
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Über Arrays iterieren.
|
Über Arrays iterieren.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Lösung: Maximum in einem Array suchen
|
||||||
|
|
||||||
|
|
||||||
|
[pr2.auffrischung.suchemax](../../solutions/src/main/java/pr2/auffrischung/suchemax)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Taschenrechner
|
# Taschenrechner
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
`case` verwenden.
|
`case` verwenden.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Lösung: Taschenrechner
|
||||||
|
|
||||||
|
|
||||||
|
[pr2.auffrischung.taschenrechner](../../solutions/src/main/java/pr2/auffrischung/taschenrechner)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Ausnahmen testen
|
# Ausnahmen testen
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Bei einer gegebenen Klasse Testfälle mit JUnit schreiben, die auf das Werfen von Ausnahmen testen.
|
Bei einer gegebenen Klasse Testfälle mit JUnit schreiben, die auf das Werfen von Ausnahmen testen.
|
||||||
|
|
@ -11,9 +11,9 @@ Gehen Sie in das Paket [pr2.exceptions.ausnahmen_testen](../sources/src/main/jav
|
||||||
|
|
||||||
Sie finden in der Aufgabe eine einfache Implementierung einer [Caesar-Verschlüsselung](https://de.wikipedia.org/wiki/Caesar-Verschlüsselung) in der Klasse `CrypterCaesar`. Außerdem finden Sie noch einen JUnit-Test in dem entsprechenden Paket `test`.
|
Sie finden in der Aufgabe eine einfache Implementierung einer [Caesar-Verschlüsselung](https://de.wikipedia.org/wiki/Caesar-Verschlüsselung) in der Klasse `CrypterCaesar`. Außerdem finden Sie noch einen JUnit-Test in dem entsprechenden Paket `test`.
|
||||||
|
|
||||||
Im JUnit-Test `CaesarTest` fehlen aber noch die Tests für die Ausnahmen. Diese werden geworfen, wenn die übergebenen Schlüssel bzw. die Klar- und Cypher-Texte nicht den Vorgaben entsprechen. Lesen Sie daher sorgfältig die JavaDoc der Klasse `CrypterCaesar` und fügen Sie dann entsprechende Testfälle in `CaesarTest` hinzu, die auf das korrekte Werfen der Ausnahmen testen.
|
Im JUnit-Test `CaesarTest` fehlen aber noch die Tests für die Ausnahmen. Diese werden geworfen, wenn die übergebenen Schlüssel bzw. die Klar- und Cypher-Texte nicht den Vorgaben entsprechen. Lesen Sie daher sorgfältig die Javadoc der Klasse `CrypterCaesar` und fügen Sie dann entsprechende Testfälle in `CaesarTest` hinzu, die auf das korrekte Werfen der Ausnahmen testen.
|
||||||
|
|
||||||
Lassen Sie Ihre Unit-Tests laufen und testen Sie, ob die Ausnahmen entsprechend der Vorgaben aus der JavaDoc geworfen werden.
|
Lassen Sie Ihre Unit-Tests laufen und testen Sie, ob die Ausnahmen entsprechend der Vorgaben aus der Javadoc geworfen werden.
|
||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Ausnahmen testen
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.exceptions.ausnahmen_testen](../../solutions/src/main/java/pr2/exceptions/ausnahmen_testen/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Eigene Ausnahmen schreiben und an entsprechender Stelle werfen
|
# Eigene Ausnahmen schreiben und an entsprechender Stelle werfen
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Ausnahmen programmieren und sinnvoll einsetzen. Bedeutung der Schlüsselwörter `throws` und `throw` verstehen.
|
Ausnahmen programmieren und sinnvoll einsetzen. Bedeutung der Schlüsselwörter `throws` und `throw` verstehen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Eigene Ausnahmen schreiben und an entsprechender Stelle werfen
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.exceptions.eigene_ausnahme](../../solutions/src/main/java/pr2/exceptions/eigene_ausnahme/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Eigene Exception schreiben
|
# Eigene Exception schreiben
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Eigene Exceptions entwerfen und verwenden.
|
Eigene Exceptions entwerfen und verwenden.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Eigene Exception schreiben
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.exceptions.fakultaet](../../solutions/src/main/java/pr2/exceptions/fakultaet/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Handle-or-Declare-Regel anwenden
|
# Handle-or-Declare-Regel anwenden
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
In einem vorhandenen Programm die Ausnahmen korrekt weiter deklarieren und an den richtigen Stellen fangen.
|
In einem vorhandenen Programm die Ausnahmen korrekt weiter deklarieren und an den richtigen Stellen fangen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Handle-or-Declare-Regel anwenden
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.exceptions.handle_or_declare](../../solutions/src/main/java/pr2/exceptions/handle_or_declare/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Ausnahmen mit `try` und `catch` behandeln.
|
# Ausnahmen mit `try` und `catch` behandeln.
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Vorhandene Ausnahmen mit `try` und `catch` abfangen und behandeln.
|
Vorhandene Ausnahmen mit `try` und `catch` abfangen und behandeln.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Ausnahmen mit `try` und `catch` behandeln.
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.exceptions.try_catch](../../solutions/src/main/java/pr2/exceptions/try_catch/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Iterator schreiben
|
# Iterator schreiben
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Für eine gegebene Klasse einen Iterator schreiben.
|
Für eine gegebene Klasse einen Iterator schreiben.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Iterator schreiben
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.collections.iterator](../../solutions/src/main/java/pr2/collections/iterator/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Iterator programmieren
|
# Iterator programmieren
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Iteratoren verstehen und programmieren.
|
Iteratoren verstehen und programmieren.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Iterator programmieren
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.collections.list_iterator](../../solutions/src/main/java/pr2/collections/list_iterator/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# `List<T>` und dessen Implementierungen
|
# `List<T>` und dessen Implementierungen
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Das Interface `List<T>` und eine passende Implementierung einsetzen.
|
Das Interface `List<T>` und eine passende Implementierung einsetzen.
|
||||||
|
|
@ -15,7 +15,7 @@ Leider wurde `WordCollector` von einem/einer Entwickler:in geschrieben, der nich
|
||||||
|
|
||||||
Lassen Sie das Programm laufen und betrachten Sie die Ausgabe. Schauen Sie sich die Klasse `WordCollector` an und versuchen Sie die Funktionsweise und die Implementierung genau zu verstehen. Dieser Schritt ist wichtig, um die im Folgenden beschriebenen Änderungen an der Klasse vornehmen zu können, lassen Sie sich also Zeit für diesen Schritt.
|
Lassen Sie das Programm laufen und betrachten Sie die Ausgabe. Schauen Sie sich die Klasse `WordCollector` an und versuchen Sie die Funktionsweise und die Implementierung genau zu verstehen. Dieser Schritt ist wichtig, um die im Folgenden beschriebenen Änderungen an der Klasse vornehmen zu können, lassen Sie sich also Zeit für diesen Schritt.
|
||||||
|
|
||||||
Ändern Sie die Klasse nun so, dass anstatt Arrays `List<T>` und deren Implementierungen verwendet werden. Ändern Sie die Schnittstellen und Parameter der Methoden von `String[]` auf `List<String>`. Modifizieren Sie auch die Implementierung der Methoden und versuchen Sie Arrays wo immer möglich durch Listen zu ersetzen. Schauen Sie sich auch die JavaDoc der Klassen `java.util.Arrays` und `java.util.Collections` an, um möglicherweise sehr hilfreiche Methoden zu finden.
|
Ändern Sie die Klasse nun so, dass anstatt Arrays `List<T>` und deren Implementierungen verwendet werden. Ändern Sie die Schnittstellen und Parameter der Methoden von `String[]` auf `List<String>`. Modifizieren Sie auch die Implementierung der Methoden und versuchen Sie Arrays wo immer möglich durch Listen zu ersetzen. Schauen Sie sich auch die Javadoc der Klassen `java.util.Arrays` und `java.util.Collections` an, um möglicherweise sehr hilfreiche Methoden zu finden.
|
||||||
|
|
||||||
__Hinweis:__ Die Konstruktion `String[] words = line.toLowerCase().split("[,. ]");` können Sie nicht durch Listen ersetzen, da die `split`-Methode Arrays verwendet.
|
__Hinweis:__ Die Konstruktion `String[] words = line.toLowerCase().split("[,. ]");` können Sie nicht durch Listen ersetzen, da die `split`-Methode Arrays verwendet.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: `List<T>` und dessen Implementierungen
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.collections.list](../../solutions/src/main/java/pr2/collections/list/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# `Map<T>` verwenden
|
# `Map<T>` verwenden
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Das Interface `Map<T>` und seine Implementierungen verwenden, um Daten effizient zu verarbeiten.
|
Das Interface `Map<T>` und seine Implementierungen verwenden, um Daten effizient zu verarbeiten.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: `Map<T>` verwenden
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.collections.map](../../solutions/src/main/java/pr2/collections/map/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# ReverserGeneric
|
# ReverserGeneric
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
`Comparable` verstehen und nutzen.
|
`Comparable` verstehen und nutzen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: ReverserGeneric
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.collections.reverser_generic](../../solutions/src/main/java/pr2/collections/reverser_generic/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Strings umgekehrt sortieren: Reverser
|
# Strings umgekehrt sortieren: Reverser
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
`Comparable` verstehen und nutzen.
|
`Comparable` verstehen und nutzen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Strings umgekehrt sortieren: Reverser
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.collections.reverser](../../solutions/src/main/java/pr2/collections/reverser/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# `Set<T>` und dessen Implementierungen
|
# `Set<T>` und dessen Implementierungen
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Das Interface `Set<T>` und eine passende Implementierung einsetzen.
|
Das Interface `Set<T>` und eine passende Implementierung einsetzen.
|
||||||
|
|
@ -15,7 +15,7 @@ Leider wurde `WordCollector` von einem/einer Entwickler:in geschrieben, der nich
|
||||||
|
|
||||||
Lassen Sie das Programm laufen und betrachten Sie die Ausgabe. Schauen Sie sich die Klasse `WordCollector` an und versuchen Sie die Funktionsweise und die Implementierung genau zu verstehen. Dieser Schritt ist wichtig, um die im Folgenden beschriebenen Änderungen an der Klasse vornehmen zu können, lassen Sie sich also Zeit für diesen Schritt.
|
Lassen Sie das Programm laufen und betrachten Sie die Ausgabe. Schauen Sie sich die Klasse `WordCollector` an und versuchen Sie die Funktionsweise und die Implementierung genau zu verstehen. Dieser Schritt ist wichtig, um die im Folgenden beschriebenen Änderungen an der Klasse vornehmen zu können, lassen Sie sich also Zeit für diesen Schritt.
|
||||||
|
|
||||||
Ändern Sie die Klasse nun so, dass anstatt Arrays `Set<T>` und deren Implementierungen verwendet werden. Ändern Sie die Schnittstellen und Parameter der Methoden von `String[]` auf `Set<String>` bzw. `List<String>`. Modifizieren Sie auch die Implementierung der Methoden und versuchen Sie Arrays wo immer möglich durch Sets und Listen zu ersetzen. Schauen Sie sich auch die JavaDoc der Klassen `java.util.Arrays` und `java.util.Collections` an, um möglicherweise sehr hilfreiche Methoden zu finden.
|
Ändern Sie die Klasse nun so, dass anstatt Arrays `Set<T>` und deren Implementierungen verwendet werden. Ändern Sie die Schnittstellen und Parameter der Methoden von `String[]` auf `Set<String>` bzw. `List<String>`. Modifizieren Sie auch die Implementierung der Methoden und versuchen Sie Arrays wo immer möglich durch Sets und Listen zu ersetzen. Schauen Sie sich auch die Javadoc der Klassen `java.util.Arrays` und `java.util.Collections` an, um möglicherweise sehr hilfreiche Methoden zu finden.
|
||||||
|
|
||||||
__Hinweis:__ Die Konstruktion `String[] words = line.toLowerCase().split("[,. ]");` können Sie nicht durch Listen ersetzen, da die `split`-Methode Arrays verwendet.
|
__Hinweis:__ Die Konstruktion `String[] words = line.toLowerCase().split("[,. ]");` können Sie nicht durch Listen ersetzen, da die `split`-Methode Arrays verwendet.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: `Set<T>` und dessen Implementierungen
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.collections.set](../../solutions/src/main/java/pr2/collections/set/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# CommandLineSorter
|
# CommandLineSorter
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Sortieren von Collections.
|
Sortieren von Collections.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: CommandLineSorter
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.collections.sorter_1](../../solutions/src/main/java/pr2/collections/sorter_1/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# CommandLineSorter -- Version 2
|
# CommandLineSorter -- Version 2
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Sortieren von Collections.
|
Sortieren von Collections.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: CommandLineSorter -- Version 2
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.collections.sorter_2](../../solutions/src/main/java/pr2/collections/sorter_2/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# `Comparator<T>` verwenden und Objekte sortieren
|
# `Comparator<T>` verwenden und Objekte sortieren
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Verschiedene Sortierreihenfolgen durch die Implementierung von `Comparator<T>` realisieren.
|
Verschiedene Sortierreihenfolgen durch die Implementierung von `Comparator<T>` realisieren.
|
||||||
|
|
@ -9,7 +9,7 @@ Verschiedene Sortierreihenfolgen durch die Implementierung von `Comparator<T>` r
|
||||||
|
|
||||||
Gehen Sie in das Paket [pr2.collections.sortieren](../sources/src/main/java/pr2/collections/sortieren/).
|
Gehen Sie in das Paket [pr2.collections.sortieren](../sources/src/main/java/pr2/collections/sortieren/).
|
||||||
|
|
||||||
Sie finden in der Aufgabe bereits die Klasse `Sorter` und den JUnit-Test `SorterTest` vor. Schauen Sie sich die Klasse `Sorter` an und versuchen Sie anhand der JavaDoc und des bereits vorhandenen Codes zu verstehen, was die Klasse machen soll.
|
Sie finden in der Aufgabe bereits die Klasse `Sorter` und den JUnit-Test `SorterTest` vor. Schauen Sie sich die Klasse `Sorter` an und versuchen Sie anhand der Javadoc und des bereits vorhandenen Codes zu verstehen, was die Klasse machen soll.
|
||||||
|
|
||||||
Lassen Sie den Test laufen. Sie werden feststellen, dass ein Testfall grün ist, obwohl in `Sorter` gar keine Implementierung vorhanden ist. Versuchen Sie herauszufinden, warum dies so ist.
|
Lassen Sie den Test laufen. Sie werden feststellen, dass ein Testfall grün ist, obwohl in `Sorter` gar keine Implementierung vorhanden ist. Versuchen Sie herauszufinden, warum dies so ist.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: `Comparator<T>` verwenden und Objekte sortieren
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.collections.sortieren](../../solutions/src/main/java/pr2/collections/sortieren/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Wörterbuchprogramm
|
# Wörterbuchprogramm
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Interface `Map` und seine Implementierungen einsetzen.
|
Interface `Map` und seine Implementierungen einsetzen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Wörterbuchprogramm
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.collections.woerterbuch](../../solutions/src/main/java/pr2/collections/woerterbuch/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Java-Coding-Standard anwenden
|
# Java-Coding-Standard anwenden
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Java-Code korrekt entsprechend dem [Coding-Standard von Oracle](http://www.oracle.com/technetwork/java/codeconventions-150003.pdf) formatieren.
|
Java-Code korrekt entsprechend dem [Coding-Standard von Oracle](http://www.oracle.com/technetwork/java/codeconventions-150003.pdf) formatieren.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Lösung: Java-Coding-Standard anwenden
|
||||||
|
|
||||||
|
|
||||||
|
[pr2.intro.coding_standard](../../solutions/src/main/java/pr2/intro/coding_standard/)
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
# JavaDoc schreiben
|
# Javadoc schreiben
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
|
Eine vorhandene Klasse mit korrekten Javadoc-Kommentaren versehen.
|
||||||
Eine vorhandene Klasse mit korrekten JavaDoc-Kommentaren versehen.
|
|
||||||
|
|
||||||
## Aufgabe
|
## Aufgabe
|
||||||
|
|
||||||
Im Paket [pr2.intro.javadoc](../sources/src/main/java/pr2/intro/javadoc/) finden Sie eine Klasse namens `Waehrung`, die eine Währung repräsentiert. Leider hat ein böser Geist bei dieser Klasse fast die gesamte JavaDoc gelöscht.
|
Im Paket [pr2.intro.javadoc](../sources/src/main/java/pr2/intro/javadoc/) finden Sie eine Klasse namens `Waehrung`, die eine Währung repräsentiert. Leider hat ein böser Geist bei dieser Klasse fast die gesamte Javadoc gelöscht.
|
||||||
|
|
||||||
Schreiben Sie eine sinnvolle JavaDoc für die Klasse `Waehrung`, die insbesondere die Funktion der Methoden und deren Parameter und Rückgabewerte erläutert. Vergessen Sie nicht, auch die Klasse selbst zu dokumentieren.
|
Schreiben Sie eine sinnvolle Javadoc für die Klasse `Waehrung`, die insbesondere die Funktion der Methoden und deren Parameter und Rückgabewerte erläutert. Vergessen Sie nicht, auch die Klasse selbst zu dokumentieren.
|
||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Lösung: Javadoc schreiben
|
||||||
|
|
||||||
|
|
||||||
|
[pr2.intro.javadoc](../../solutions/src/main/java/pr2/intro/javadoc/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Klasse mit JUnit testen
|
# Klasse mit JUnit testen
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Einen JUnit-Test für eine gegebene Klasse schreiben.
|
Einen JUnit-Test für eine gegebene Klasse schreiben.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Lösung: Klasse mit JUnit testen
|
||||||
|
|
||||||
|
|
||||||
|
Gehen Sie in das Paket [pr2.intro.junit_factorials](../../solutions/src/main/java/pr2/intro/junit_factorial/).
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Eigene Enumeration schreiben und verwenden
|
# Eigene Enumeration schreiben und verwenden
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Eine einfache Enumeration (ohne abstrakte Methoden) erstellen und in einem kleinen Programm einsetzen.
|
Eine einfache Enumeration (ohne abstrakte Methoden) erstellen und in einem kleinen Programm einsetzen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Eigene Enumeration schreiben und verwenden
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.enums.eigene](../../solutions/src/main/java/pr2/enums/eigene/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Enumeration schreiben
|
# Enumeration schreiben
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Eine einfache Enumeration (ohne abstrakte Methoden) erstellen und in einem kleinen Programm einsetzen.
|
Eine einfache Enumeration (ohne abstrakte Methoden) erstellen und in einem kleinen Programm einsetzen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Enumeration schreiben
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.enums.filme](../../solutions/src/main/java/pr2/enums/filme/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Singleton-Eigenschaft von Enumerationen
|
# Singleton-Eigenschaft von Enumerationen
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Die Singleton-Eigenschaft von Enumerationen verstehen.
|
Die Singleton-Eigenschaft von Enumerationen verstehen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Singleton-Eigenschaft von Enumerationen
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.enums.singleton](../../solutions/src/main/java/pr2/enums/singleton/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Assignment: Stein, Papier, Schere, Echse, Spock
|
# Assignment: Stein, Papier, Schere, Echse, Spock
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Mit Enumerationen arbeiten.
|
Mit Enumerationen arbeiten.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Stein, Papier, Schere, Echse, Spock
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.enums.schnick](../../solutions/src/main/java/pr2/enums/schnick).
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Einen generischen Typ schreiben
|
# Einen generischen Typ schreiben
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Einen vorhandenen Typ so umgestalten, dass er als generischer Typ verwendet werden kann.
|
Einen vorhandenen Typ so umgestalten, dass er als generischer Typ verwendet werden kann.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Einen generischen Typ schreiben
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.generics.einfach](../../solutions/src/main/java/pr2/generics/einfach/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Generische Klasse Pair schreiben
|
# Generische Klasse Pair schreiben
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Von einem generischen Typ erben.
|
Von einem generischen Typ erben.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Generische Klasse Pair schreiben
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.generics.pair](../../solutions/src/main/java/pr2/generics/pair/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Generische Klasse Pair erweitern: NumberPair
|
# Generische Klasse Pair erweitern: NumberPair
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Von einem generischen Typ erben.
|
Von einem generischen Typ erben.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Generische Klasse Pair erweitern: NumberPair
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.generics.number_pair](../../solutions/src/main/java/pr2/generics/number_pair/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Generische Klasse Pair erweitern: SamePair
|
# Generische Klasse Pair erweitern: SamePair
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Von einem generischen Typ erben.
|
Von einem generischen Typ erben.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Generische Klasse Pair erweitern: SamePair
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.generics.same_pair](../../solutions/src/main/java/pr2/generics/same_pair/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# PairList
|
# PairList
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Sammlungen von Objekten eines generischen Typs erstellen.
|
Sammlungen von Objekten eines generischen Typs erstellen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: PairList
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.generics.pairlist](../../solutions/src/main/java/pr2/generics/pairlist/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Wildcard benutzen
|
# Wildcard benutzen
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Wildcards einsetzen.
|
Wildcards einsetzen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Wildcard benutzen
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.generics.printer](../../solutions/src/main/java/pr2/generics/printer/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Generische Queue
|
# Generische Queue
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Einen komplexeren generischen Typ entwickeln.
|
Einen komplexeren generischen Typ entwickeln.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Generische Queue
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.generics.queue](../../solutions/src/main/java/pr2/generics/queue/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# `super` und `extends` einsetzen
|
# `super` und `extends` einsetzen
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Methoden unter Verwendung von `super` und `extends` gestalten, sodass sie flexibel auch mit Sub- bzw. Supertypen umgehen können.
|
Methoden unter Verwendung von `super` und `extends` gestalten, sodass sie flexibel auch mit Sub- bzw. Supertypen umgehen können.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: `super` und `extends` einsetzen
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.generics.super_extends](../../solutions/src/main/java/pr2/generics/super_extends/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Generische Typen zusammen mit Wildcards einsetzen
|
# Generische Typen zusammen mit Wildcards einsetzen
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Gebundene und ungebundene Wildcards einsetzen.
|
Gebundene und ungebundene Wildcards einsetzen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Generische Typen zusammen mit Wildcards einsetzen
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.generics.wildcards](../../solutions/src/main/java/pr2/generics/wildcards/).
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# MatrixSuche
|
# MatrixSuche
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Statische innere Klassen einsetzen.
|
Statische innere Klassen einsetzen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: MatrixSuche
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.lambda.matrixsuche](../../solutions/src/main/java/pr2/lambda/matrixsuche/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Innere Klasse Beobachter
|
# Innere Klasse Beobachter
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Zugriff von inneren Klassen auf die umgebende Klasse.
|
Zugriff von inneren Klassen auf die umgebende Klasse.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Innere Klasse Beobachter
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.lambda.observer](../../solutions/src/main/java/pr2/lambda/observer/).
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Callback mit anonymer Klasse realisieren
|
# Callback mit anonymer Klasse realisieren
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Eine gegebene Funktion durch einen Callback parametrieren. Der Callback wird als anonyme innere Klasse realisiert.
|
Eine gegebene Funktion durch einen Callback parametrieren. Der Callback wird als anonyme innere Klasse realisiert.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Callback mit anonymer Klasse realisieren
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.lambda.callback](../../solutions/src/main/java/pr2/lambda/callback/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# `BufferedReader` zum zeilenweisen Lesen einsetzen
|
# `BufferedReader` zum zeilenweisen Lesen einsetzen
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Daten Zeilenweise mit einem `BufferedReader` verwenden und dabei das Decorator Pattern einsetzen.
|
Daten Zeilenweise mit einem `BufferedReader` verwenden und dabei das Decorator Pattern einsetzen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: `BufferedReader` zum zeilenweisen Lesen einsetzen
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.io.buffered_reader](../../solutions/src/main/java/pr2/io/buffered_reader/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# DataOutputStream
|
# DataOutputStream
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Daten mit einem `DataOutputStreams` manuell serialisieren.
|
Daten mit einem `DataOutputStreams` manuell serialisieren.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: DataOutputStream
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.io.datainputoutput_1](../../solutions/src/main/java/pr2/io/datainputoutput_1/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# DataOutputStream durch Serialisierung ersetzen
|
# DataOutputStream durch Serialisierung ersetzen
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Daten mit einem `ObjectOutputStreams` serialisieren.
|
Daten mit einem `ObjectOutputStreams` serialisieren.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: DataOutputStream durch Serialisierung ersetzen
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.io.datainputoutput_2](../../solutions/src/main/java/pr2/io/datainputoutput_2/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Daten mit `DataOutputStream` und `DataInputStream` verarbeiten
|
# Daten mit `DataOutputStream` und `DataInputStream` verarbeiten
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Ein eigenes Format für die Daten einer Klasse definieren und diese Dann in einer Datei speichern und aus dieser wieder laden.
|
Ein eigenes Format für die Daten einer Klasse definieren und diese Dann in einer Datei speichern und aus dieser wieder laden.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Daten mit `DataOutputStream` und `DataInputStream` verarbeiten
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.io.data_output](../../solutions/src/main/java/pr2/io/data_output/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Daten mit einem `InputStream` lesen
|
# Daten mit einem `InputStream` lesen
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Einen `InputStream` benutzen, um Daten aus einer Datei zu lesen.
|
Einen `InputStream` benutzen, um Daten aus einer Datei zu lesen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Daten mit einem `InputStream` lesen
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.io.datei_lesen](../../solutions/src/main/java/pr2/io/datei_lesen/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Daten mit einem `OutputStream` schreiben
|
# Daten mit einem `OutputStream` schreiben
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Einen `OutputStream` verwenden, um Daten zu schreiben.
|
Einen `OutputStream` verwenden, um Daten zu schreiben.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Daten mit einem `OutputStream` schreiben
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.io.datei_schreiben](../../solutions/src/main/java/pr2/io/datei_schreiben/)
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Filesystem-Abstraktion mit `File`
|
# Filesystem-Abstraktion mit `File`
|
||||||
## Lernziel
|
## Lernziel
|
||||||
|
[Musterlösung](solution/)
|
||||||
|
|
||||||
|
|
||||||
Die Klasse `Path` einsetzen, um plattformunabhängig Operationen auf dem Dateisystem durchzuführen.
|
Die Klasse `Path` einsetzen, um plattformunabhängig Operationen auf dem Dateisystem durchzuführen.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Lösung: Filesystem-Abstraktion mit `File`
|
||||||
|
|
||||||
|
Musterlösung:
|
||||||
|
|
||||||
|
[pr2.io.file](../../solutions/src/main/java/pr2/io/file/)
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue