Am Schalter
Jetzt öffnet die Bank ihren Schalter. Das neue Array heute enthält die heutigen Buchungen in der Reihenfolge, in der sie geschehen sind. Jede ist eine Buchung: eine Einzahlung ("einzahlen") oder eine Abhebung ("abheben") eines Betrags in Gold, betrag, durch den inhaber eines Kontos.
Eine Einzahlung fügt dem Konto das Gold hinzu. Eine Abhebung nimmt es weg, aber nur, wenn genug auf dem Konto liegt: Sonst scheitert sie mit nicht genug Gold, und das Konto bleibt, wie es war. Eine Buchung von jemandem, der kein Konto hat, scheitert mit kein Konto. Gib nach den Konten vom Morgen für jede Buchung eine Zeile aus und danach noch einmal die Konten und das Gold der Bank, wie sie am Abend sind:
Kira: 120 Gold
Bruno: 40 Gold
Lena: 75 Gold
Die Bank verwahrt 235 Gold.
Bruno hat 30 Gold eingezahlt. Kontostand: 70
Kira hat 50 Gold abgehoben. Kontostand: 70
Bruno kann 100 Gold nicht abheben: nicht genug Gold
Mira kann 10 Gold nicht einzahlen: kein Konto
Kira: 70 Gold
Bruno: 70 Gold
Lena: 75 Gold
Die Bank verwahrt 215 Gold.Ein Tipp: Etwas, das scheitern kann, ist ein Fall für den Typ Ergebnis<T> aus der Lektion Generics. Eine Methode, die Gold abhebt, kann ein Ergebnis<number> zurückgeben: den neuen Kontostand oder den Grund, warum es gescheitert ist.
So schreibst du es:
Anweisungen
- 1
Gib für jede Buchung eine Zeile aus, wie im Beispiel.
- 2
Gib nach den Buchungen noch einmal die Konten und das Gold der Bank aus.