uebungen/Assignment_078/readme.md

33 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

2024-01-21 13:36:56 +01:00
# StringTransmogrifier
2023-05-23 09:08:43 +02:00
2024-01-08 15:32:04 +01:00
[Musterlösung](solution/)
2023-05-23 09:08:43 +02:00
## Lernziel
2024-01-21 13:36:56 +01:00
Funktionale Interfaces entwerfen und verwenden.
2023-05-23 09:08:43 +02:00
## Aufgabe
2024-01-21 13:36:56 +01:00
Gehen Sie in das Paket [pr2.lambda.mogrifier_1](../sources/src/main/java/pr2/lambda/mogrifier_1/).
2023-05-23 09:08:43 +02:00
2024-01-21 13:36:56 +01:00
Schreiben Sie ein funktionales Interface namens `StringFunction`. Die Methode des Interfaces nimmt eine String und gibt einen String zurück.
2023-05-23 09:08:43 +02:00
2024-01-21 13:36:56 +01:00
Schreiben Sie eine Klasse `StringTransmogrifier`, die eine statische Methode `transmogrify` hat, der man ein String-Array und eine `StringFunction` übergibt. Die Methode wendet die Funktion auf jedes Element des Arrays an und gibt ein neues Array mit dem Ergebnis zurück.
2024-01-20 16:52:10 +01:00
2024-01-21 13:36:56 +01:00
Schreiben Sie eine Klasse `StringTransmogrifierTest`, die ein String-Array erzeugt und dann mithilfe der Klasse `StringTransmogrifier` die Elemente verändert. Nehmen Sie folgende Änderungen am Array vor, indem Sie entsprechende Lambda-Ausdrücke oder Methodenreferenzen übergeben:
2024-01-20 16:52:10 +01:00
2024-01-21 13:36:56 +01:00
* Umwandeln aller Buchstaben in Kleinbuchstaben.
* Umwandeln aller Buchstaben in Großbuchstaben.
* Ersetzen jedes Buchstaben durch den im Alphabet folgenden.
2023-05-23 09:08:43 +02:00
## Abgabe (optional)
__Sie müssen keine Lösung für diese Aufgabe einreichen.__
Sie können Ihre Lösung aber auf die Konformität mit den Programmierstandards testen. Hierzu gehen Sie wie folgt vor:
1. Öffnen Sie eine Kommandozeile (Terminal).
2. Gehen Sie in Ihr Working Directory.
3. Wechseln Sie mit `cd` in das Verzeichnis `sources`.
2023-12-31 11:13:34 +01:00
4. Bauen Sie das Projekt mit dem Kommando `mvn`.