From d0e66523cb4cbeac69c275b79c0d78cf5cee8124 Mon Sep 17 00:00:00 2001 From: informatikperson <62358979+informatikperson@users.noreply.github.com> Date: Tue, 18 Oct 2022 12:34:48 +0200 Subject: [PATCH] =?UTF-8?q?Einbau=20der=20Kontoausz=C3=BChe=20in=20banksys?= =?UTF-8?q?tem,=20bank=20und=20konto?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../de/hs_mannheim/informatik/bank/Main.java | 2 +- .../informatik/bank/domain/Bank.java | 12 ++++++-- .../informatik/bank/domain/Konto.java | 11 +++++++ .../informatik/bank/domain/Kontoauszüge.java | 21 +++++++++++++ .../informatik/bank/facade/Banksystem.java | 6 ++++ .../de/hs_mannheim/informatik/bank/ui/UI.java | 30 +++++++++++++++---- 6 files changed, 72 insertions(+), 10 deletions(-) create mode 100644 Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoauszüge.java diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java index b075558..2cfb4bb 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java @@ -6,7 +6,7 @@ import de.hs_mannheim.informatik.bank.ui.UI; public class Main { public static void main(String[] args) { - Banksystem bs = new Banksystem("Spaßkasse Mannheim"); + Banksystem bs = new Banksystem("Sparkasse Mannheim"); UI ui = new UI(bs); } 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 d2fe9e1..c078081 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 @@ -1,7 +1,9 @@ package de.hs_mannheim.informatik.bank.domain; +import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.List; public class Bank { private String name; @@ -22,8 +24,12 @@ public class Bank { public Collection getKontenliste() { return konten.values(); } - public Bank gibName(String iuashe) { - Bank banki = new Bank("banki"); - return null; + public List getAuszüge(int kontonummer){ + Konto konto = konten.get(kontonummer); + if (konto == null) { + return new ArrayList<>(); + } + return konto.getAuszüge(); + } } 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 48b99b4..4915066 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,16 @@ package de.hs_mannheim.informatik.bank.domain; +import java.util.ArrayList; +import java.util.List; + public class Konto { private static int kontozähler = 0; private int nummer; private long stand = 0; private String inhaber; + + private ArrayList auszüge = new ArrayList<>(); public Konto(String inhaber) { nummer = 1000 + kontozähler++; @@ -27,10 +32,16 @@ public class Konto { public long addKontostand(String inhaber, long zahl) { stand = getKontostand() +zahl; + auszüge.add(new Kontoauszüge(stand, zahl, inhaber)); return stand; } public long getKontostand() { return stand; } + + public List getAuszüge() { + return auszüge; + } + } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoauszüge.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoauszüge.java new file mode 100644 index 0000000..5f8682d --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoauszüge.java @@ -0,0 +1,21 @@ +package de.hs_mannheim.informatik.bank.domain; + +import java.util.Date; + +public class Kontoauszüge { + + private long kontostand; + private long betrag; + private Date date = new Date(); + private String auftraggeber; + + public Kontoauszüge(long kontozustand, long betrag, String auftraggeber) { + this.kontostand = kontostand; + this.betrag = betrag; + this.auftraggeber = auftraggeber; + } + @Override + public String toString() { + return "Datum: "+ date.toString()+ " , Kontostand: "+kontostand+ " , Betrag: " +(betrag<0? "-":"+") + betrag + " , "+ " Auftraggeber: " + auftraggeber; + } +} 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 8b615e9..574e846 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 @@ -1,9 +1,11 @@ package de.hs_mannheim.informatik.bank.facade; import java.util.Collection; +import java.util.List; import de.hs_mannheim.informatik.bank.domain.Bank; import de.hs_mannheim.informatik.bank.domain.Konto; +import de.hs_mannheim.informatik.bank.domain.Kontoauszüge; public class Banksystem { private Bank bank; @@ -107,4 +109,8 @@ public class Banksystem { } + public List getAuszüge(int kontonummer) { + return bank.getAuszüge(kontonummer); + } + } 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 1cbd6e6..86218ba 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,6 +1,9 @@ package de.hs_mannheim.informatik.bank.ui; +import java.util.List; import java.util.Scanner; + +import de.hs_mannheim.informatik.bank.domain.Kontoauszüge; import de.hs_mannheim.informatik.bank.facade.Banksystem; public class UI { @@ -21,7 +24,8 @@ public class UI { System.out.println("1 -> Konten anzeigen"); System.out.println("2 -> Konto anlegen"); // System.out.println("3 -> Auf bestehendes Konto einzahlen oder auszahlen"); - System.out.println("4 -> Auf bestehendes Konto einzahlen/auszahlen"); + System.out.println("3 -> Auf bestehendes Konto einzahlen/auszahlen"); + System.out.println("4 -> Kontoauszüge"); System.out.println("9 -> Beenden"); System.out.println(); @@ -36,10 +40,10 @@ public class UI { case 2: kontoAnlegen(); break; -// case 3: -// kontoAktionen(); -// break; case 4: + kontoAuszugAnzeigen(); + break; + case 3: kontoBewegungen(); break; case 9: @@ -125,7 +129,7 @@ public class UI { long input = Long.parseLong(sc.nextLine()); System.out.println(); if (input < 0) { - System.out.println("Sie haben können nichts unter 0 auszahlen"); + System.out.println("Sie können nichts unter 0 auszahlen"); kontoAuszahlen(); } return -input; @@ -144,7 +148,7 @@ public class UI { private void kontenAnzeigen() { String[] konten = bs.getKontenliste(); if (konten.length > 0) { - System.out.println("Folgende Konten sind aktuell verfügbar:"); + System.out.println("Folgende Konten sind aktuell verfügbar:"); for (String s : konten) { System.out.println(s); } @@ -160,6 +164,20 @@ public class UI { int kontonummer = bs.kontoAnlegen(name); System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); } + public void kontoAuszugAnzeigen() { + System.out.print("Kontonummer: "); + System.out.println(); + int kontonummer = Integer.parseInt(sc.nextLine()); + if (!bs.checkForInstance(kontonummer)) { + System.out.println("Kein Konto vorhanden"); + return; + } + List auszüge = bs.getAuszüge(kontonummer); + + for(Kontoauszüge auszug : auszüge) { + System.out.println(auszug); + } + } // private void kontoAktionen() { // System.out.println("Konto über Namen auffüllen? -> 1"); // System.out.println("Konto über Kontonummer aufladen? -> 2");