From 1778d949f58923d780e5b91d614212a83f21d1fb Mon Sep 17 00:00:00 2001 From: kaimu Date: Tue, 18 Oct 2022 12:23:40 +0200 Subject: [PATCH] kj --- .../informatik/bank/domain/Bank.java | 5 ++ .../informatik/bank/domain/Konto.java | 16 ++++ .../informatik/bank/facade/Banksystem.java | 23 +++++ .../de/hs_mannheim/informatik/bank/ui/UI.java | 83 ++++++++++++++++++- 4 files changed, 125 insertions(+), 2 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..61079d9 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 @@ -22,5 +22,10 @@ public class Bank { public Collection getKontenliste() { return konten.values(); } + + public Konto getKonto(int kontonummer) { + return konten.get(kontonummer); + } } + 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..262be8c 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 @@ -1,11 +1,14 @@ package de.hs_mannheim.informatik.bank.domain; +import java.util.ArrayList; + public class Konto { private static int kontozähler = 0; private int nummer; private long stand = 0; private String inhaber; + ArrayList transaktionen = new ArrayList(); public Konto(String inhaber) { nummer = 1000 + kontozähler++; @@ -20,5 +23,18 @@ public class Konto { public String toString() { return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]"; } + + public long getStand() { + return stand; + } + + public void setStand(long einzahlung) { + this.stand = stand + einzahlung; + System.out.println("Neuer Kontostand: " + stand ); + transaktionen.add(einzahlung); + } + public ArrayList Kontoauszug() { + return transaktionen; + } } 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..81ccb43 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 @@ -34,4 +34,27 @@ public class Banksystem { public String getBankname() { return bank.getName(); } + + public Konto getKonto(int kontonummer) { + + return bank.getKonto(kontonummer); + } + + public void geldEinzahlen(int kontonummer, long betrag) { + + getKonto(kontonummer).setStand(betrag); + + } + +public void geldAuszahlen(int kontonummer, long betrag) { + + getKonto(kontonummer).setStand(betrag); + + } + + public long kontostand(int kontonummer) { + + return getKonto(kontonummer).getStand(); + + } } 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 d6eb6e9..679d0a4 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 @@ -1,7 +1,9 @@ package de.hs_mannheim.informatik.bank.ui; +import java.util.ArrayList; import java.util.Scanner; +import de.hs_mannheim.informatik.bank.domain.Konto; import de.hs_mannheim.informatik.bank.facade.Banksystem; public class UI { @@ -10,10 +12,10 @@ public class UI { public UI(Banksystem bs) { this.bs = bs; - hauptmenü(); + hauptmenü(); } - private void hauptmenü() { + private void hauptmenü() { System.out.println("Willkommen bei der " + bs.getBankname() + "!"); mainloop: @@ -23,6 +25,10 @@ public class UI { System.out.println("Hauptmenü"); System.out.println("1 -> Konten anzeigen"); System.out.println("2 -> Konto anlegen"); + System.out.println("3 -> Konto anzeigen"); + System.out.println("4 -> Geld Einzahlen"); + System.out.println("5 -> Geld Auszahlen"); + System.out.println("6 -> Kontoauszug"); System.out.println("9 -> Beenden"); System.out.println(); @@ -33,6 +39,10 @@ public class UI { switch(input) { case 1: kontenAnzeigen(); break; case 2: kontoAnlegen(); break; + case 3: kontostandAnzeigen(); break; + case 4: geldEinzahlen(); break; + case 5: geldAuszahlen(); break; + case 6: kontoAuszug(); break; case 9: break mainloop; } } @@ -41,6 +51,45 @@ public class UI { } // hauptmenü + private void geldEinzahlen() { + System.out.println("Bitte geben Sie die Kontonummer ein: "); + int input = Integer.parseInt(sc.nextLine()); + + System.out.println("Bitte geben Sie jetzt den Geldbetrag ein:"); + long betrag = Long.parseLong(sc.nextLine()); + + if(betrag > 0 && bs.getKonto(input) != null){ + bs.geldEinzahlen(input, betrag); + }else { + System.out.println("Fehler bei der Geldeinzahlung!"); + } + + } + + private void geldAuszahlen() { + System.out.println("Bitte geben Sie die Kontonummer ein: "); + int input = Integer.parseInt(sc.nextLine()); + + System.out.println("Bitte geben Sie jetzt den Geldbetrag ein:"); + long betrag = Long.parseLong(sc.nextLine()); + + if(betrag < 0 && bs.getKonto(input) != null && bs.getKonto(input).getStand() >= betrag){ + bs.geldAuszahlen(input, betrag); + }else { + System.out.println("Fehler bei der Geldauszahlung!"); + } + + + + } + + private void kontostandAnzeigen() { + System.out.println("Bitte geben Sie die Kontonummer ein: "); + int input = Integer.parseInt(sc.nextLine()); + + System.out.println("Ihr aktueller Kontostand beträgt: " + bs.kontostand(input)); + } + private void kontenAnzeigen() { String[] konten = bs.getKontenliste(); if (konten.length > 0) { @@ -60,5 +109,35 @@ public class UI { int kontonummer = bs.kontoAnlegen(name); System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); } + + private void kontoAuszug() { + int transaktionsnummer = 0; + System.out.println("Bitte geben sie ihre Kontonummer ein:"); + int input = Integer.parseInt(sc.nextLine()); + if(bs.getKonto(input) != null) { + ArrayList transaktionen = bs.getKonto(input).Kontoauszug(); + + + System.out.println("Kontoauszug für Konto Nr." + input + ":"); + if(transaktionen.get(0) != null) { + + System.out.println("Kontoauszug für Konto Nr." + input + ":"); + while(transaktionen.get(transaktionsnummer) != null) { + System.out.println("Transaktion Nr." + transaktionsnummer + ": " + transaktionen.get(transaktionsnummer)); + } + } + + else { + System.out.println("Es wurden keine Einträge zu Transaktionen mit ihrem Konto gefunden"); + } + } + + else { + System.out.println("Zu der eingegebenen Kontonummer existiert kein Konto"); + } + + ArrayList transaktionen = null; + + } }