:source-highlighter: coderay :icons: font = Lösungsblatt zum Praktikum Functional Programming Diese Datei ist als Hilfsmittel für Sie gedacht. Sie brauchen die Datei nicht zu verwenden, wenn Sie nicht möchten. == 1. Die Functional Interfaces [loweralpha] . Welche Interfaces aus dem Package `java.util.function` können Sie alles nutzen, um - die mathematische Funktion f(x) = x ^ 2 - 3 für Zahlen des Typs `long` abzubilden? [numbered] .. Lösung 1 .. Lösung 2 .. Lösung 3 .. Lösung 4 .. Lösung 5 - um den Zinsfaktor (double) für n (int) Jahre bei einem Zinssatz von p Prozent (float) zu berechnen mit der Formel zf = (1 + p / 100)^n ? [numbered] .. Lösung 1 .. Lösung 2 - ein Objekt vom Typ `Person` (ohne Parameter) zu generieren? [numbered] .. Lösung - Welche Eigenschaft muss eine Funktion haben, damit Sie ein eigenes Interface schreiben müssen, also keines der in `java.util.function` vorhandenen Interfaces verwenden können? [numbered] .. Lösung . Welche der Aussagen stimmen für ein funktionales Interface? ** [x] Ankreuzen mit x in [ ] ** [ ] Es ist ein Java-Interface (Schlüsselwort `interface` im Code) ** [ ] Es hat **genau eine** abstrakte Methode ** [ ] Das Interface **muss** mit `@FunctionalInterface` markiert sein ** [ ] Es hat **keine** default-Methoden (Schlüsselwort `default`) . Welche Aussagen stimmen? ** [ ] Zu **jedem** funktionalen Interface können Lambda-Ausdrücke (_lambda expressions_) geschrieben werden ** [ ] Ein Lambda-Ausdruck kann **ohne** passendes funktionales Interface erstellt werden ** [ ] Eine Variable vom Typ `Optional` kann nie `null` sein. == 2. Übungen auf der Stepik-Plattform === Übungen zu Functional Interface und Lambda Expression . Identify the correct lambdas and method references Korrekt sind * ... . Writing simple lambda expressions + [source, Java] ---- // java function ---- . Too many arguments + [source, Java] ---- // java function ---- === Übungen mit Streams . Composing predicates + [source, Java] ---- // java code ---- == 3. Design Pattern _Chain of responsibility_ [source, Java] ---- // java code ---- == 4. Company Payroll Lösung im Code-Repository.