Die Aufgabe
Aufgabe 3
Gegeben sind die Klassen Verkauf und Verkaufsstatistik. In der main-Methode von „Verkaufsstatistik“ werden einige Verkaufsobjekte angelegt und in der Liste „verkaufsliste“ gespeichert.
Erzeugen Sie aus der Liste einen Stream. Machen Sie damit Folgendes:
- Filtern Sie die Verkäufe nach Ländern, so dass nur Verkäufe aus Großbritannien, Österreich und der Schweiz berücksichtigt werden.
- Filtern Sie die Verkäufe so, dass nur Kleidung berücksichtigt wird (Die Kategorien Schuhe, Hemden, Kleider).
- Rechnen Sie bei den Verkäufen, die die Währung GBP oder CHF haben, die Summe in Euro um. Anschließend sollen alle noch vorhandenen Verkäufe die Euro-Summe und die Währung „EUR“ enthalten.
- Geben Sie die noch vorhandenen Verkäufe auf der Konsole aus.
Verwenden Sie jeweils die geeigneten Stream-Operationen und erstellen Sie benötigten Lambdas.
Für Punkt 3 können Sie die Operation „map“ verwenden. Das hierfür genutzte Lambda soll jeweils ein neues Verkaufsobjekt erzeugen, in das die Kategorie und das Land aus dem vorhandenen Verkaufsobjekt kopiert werden sowie die bei der Umrechnung ermittelte Euro-Summe und die Währung „EUR“ eingetragen werden.
Damit die Lambdas nicht zu groß und zu unübersichtlich werden, können Sie deren Inhalte auch in eigenen Methoden auslagern und in den Lambdas diese Methoden aufrufen.
Die Klassen Verkauf und Verkaufsstatistik liegen uns nicht vor. Wir schreiben sie knapp selbst. Die neun Verkäufe sind ein eigenes Beispiel. Die Kurse stehen nicht in der Aufgabe; wir nehmen die aus der Musterlösung: 1 GBP (britisches Pfund) = 1,19 Euro und 1 CHF (Schweizer Franken) = 1,04 Euro.
stream()), beliebig viele verarbeiten ihn (filter, map), eine schließt ihn ab (forEach).- Aus der Liste einen Stream machen.
- Nach Ländern filtern, dann nach Kategorien.
- Jeden Verkauf durch eine Kopie in Euro ersetzen.
- Die übrigen Verkäufe ausgeben.