@@ -132,3 +132,13 @@ Erweitere dein bestehendes Taschenrechner-Konsolenprogramm um ein einfaches Men
...
@@ -132,3 +132,13 @@ Erweitere dein bestehendes Taschenrechner-Konsolenprogramm um ein einfaches Men
Erweitere dein Taschenrechner-Programm, indem du Fehlerbehandlung mit `try-catch` einbaust.
Erweitere dein Taschenrechner-Programm, indem du Fehlerbehandlung mit `try-catch` einbaust.
Fange ungültige Nutzereingaben, wie Buchstaben statt Zahlen oder ungültige Rechenoperationen, ab und werfe eigene Exceptions die du (in der UI!) fängst und entsprechende Fehlermeldungen ausgibst.
Fange ungültige Nutzereingaben, wie Buchstaben statt Zahlen oder ungültige Rechenoperationen, ab und werfe eigene Exceptions die du (in der UI!) fängst und entsprechende Fehlermeldungen ausgibst.
## Aufgabe 5
Erweitere deinen Taschenrechner um eine History-Funktion. Nach jeder erfolgreichen Berechnung soll ein History-Eintrag erstellt und in einer `MutableList` in einem Adapter gespeichert werden.
Lege für die HistoryEinträge eine `data class` an, die zwei Eigenschaften enthält: den Rechenterm als strukturierter Ausdruck und das Ergebnis als `Int`.
### Bonus
Der Rechenterm soll dabei durch eine `sealed interface`- bzw `seald class`-Struktur dargestellt werden, z. B. mit konkreten Klassen für die einzelnen Operationen, etc. So lässt sich jeder Ausdruck als strukturierter Baum (z. B. `Add(Num(3), Num(4))`) modellieren.