From 8f029a7569db1342875079e95fa892fecc337953 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20K=C3=BChnau?= Date: Tue, 18 Oct 2022 12:01:15 +0200 Subject: [PATCH] Einzahlung und Kontostand dazu --- .../informatik/bank/domain/Bank.java | 4 +++ .../informatik/bank/domain/Konto.java | 10 ++++++- .../informatik/bank/facade/Banksystem.java | 11 +++++++ .../de/hs_mannheim/informatik/bank/ui/UI.java | 29 +++++++++++++++++-- 4 files changed, 50 insertions(+), 4 deletions(-) diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java index 0b66d3d..ecb35c9 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java @@ -19,6 +19,10 @@ public class Bank { return name; } + public Konto getKonto(Integer nr) { + return konten.get(nr); + } + public Collection getKontenliste() { return konten.values(); } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java index 654d503..8584ed3 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java @@ -16,9 +16,17 @@ public class Konto { return nummer; } + public long getKontostand() { + return stand; + } + + public void einzahlung(long betrag) { + this.stand += betrag; + } + @Override public String toString() { - return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]"; + return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + ", Kontostand= " + stand + "]"; } } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java index 821c2a9..05e1db6 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java @@ -19,6 +19,17 @@ public class Banksystem { return k.getKontonummer(); } + public double kontoStand(int nr) { + Konto k = bank.getKonto(nr); + return (double)k.getKontostand()/100; + } + + public double kontoEinzahlen(int nr, Double einzahlung) { + Konto k = bank.getKonto(nr); + k.einzahlung((long)(einzahlung * 100)); + return (double)k.getKontostand()/100; + } + public String[] getKontenliste() { Collection konten = bank.getKontenliste(); String[] liste = new String[konten.size()]; diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java index 438a6da..9d844fd 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java @@ -23,9 +23,10 @@ public class UI { System.out.println("Hauptmenü"); System.out.println("1 -> Konten anzeigen"); System.out.println("2 -> Konto anlegen"); - System.out.println("3 -> Einzahlung"); - System.out.println("4 -> Auszahlung"); - System.out.println("5 -> Kontoauszug"); + System.out.println("3 -> Kontostand"); + System.out.println("4 -> Einzahlung"); + System.out.println("5 -> Auszahlung"); + System.out.println("6 -> Kontoauszug"); System.out.println("9 -> Beenden"); System.out.println(); @@ -36,6 +37,9 @@ public class UI { switch(input) { case 1: kontenAnzeigen(); break; case 2: kontoAnlegen(); break; + case 3: kontoStand(); break; + case 4: kontoEinzahlen(); break; + case 9: break mainloop; } } @@ -63,5 +67,24 @@ public class UI { int kontonummer = bs.kontoAnlegen(name); System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); } + + private void kontoStand() { + System.out.println("Bitte die Kontonummer angeben: "); + int nr = Integer.parseInt(sc.nextLine()); + + System.out.println("Kontostand: " +bs.kontoStand(nr)+ "€"); + } + + private void kontoEinzahlen( ) { + System.out.println("Bitte Kontonummer eingeben: "); + Integer nr = Integer.parseInt(sc.nextLine()); + + System.out.println("Alter Kontostand: " +bs.kontoStand(nr)+ "€"); + + System.out.println("Einzahlungsbetrag in €: "); + double einzahlung = Double.parseDouble(sc.nextLine()); + + System.out.println("Neuer Kontostand: " + bs.kontoEinzahlen(nr, einzahlung)); + } }