... | ... | @@ -132,3 +132,13 @@ Erweitere dein bestehendes Taschenrechner-Konsolenprogramm um ein einfaches Men |
|
|
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.
|
|
|
|
|
|
## 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. |