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..05b78b0 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,26 +1,38 @@ package de.hs_mannheim.informatik.bank.domain; +import static org.junit.Assert.assertNotNull; + +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.ObjectInputStream; import java.util.Collection; import java.util.HashMap; + public class Bank { private String name; private HashMap konten = new HashMap<>(); - + public Bank(String name) { this.name = name; } - + public void addKonto(Konto k) { konten.put(k.getKontonummer(), k); } - + public String getName() { return name; } + public Konto findeKontoNummer(int kontonummer) { + return konten.get(kontonummer); + } public Collection getKontenliste() { return konten.values(); } + + } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GiroKonto.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GiroKonto.java new file mode 100644 index 0000000..e115c49 --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/GiroKonto.java @@ -0,0 +1,10 @@ +package de.hs_mannheim.informatik.bank.domain; + +public class GiroKonto extends Konto{ + + public GiroKonto(String inhaber, long kontoStand) { + super(inhaber, kontoStand); + + } + +} 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 310f21c..a542441 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,5 +1,8 @@ package de.hs_mannheim.informatik.bank.domain; +import java.time.LocalDateTime; +import java.util.ArrayList; + public class Konto { private static int kontozähler = 0; @@ -7,11 +10,16 @@ public class Konto { // private long stand = 0; private String inhaber; private long kontoStand; + private ArrayList liste = new ArrayList<>(); + private ArrayList bewegungen = new ArrayList<>(); + public Konto(String inhaber, long kontoStand) { nummer = 1000 + kontozähler++; this.inhaber = inhaber; this.kontoStand = kontoStand; + + this.bewegungen = new ArrayList<>(); } @@ -36,11 +44,17 @@ public class Konto { System.out.println("Einzahlung kann nicht getätigt werden, da es eine negativ Zahl ist! "); } else { kontoStand += betrag; - System.out.println("Der Betrag wurde eingezahlt! "); + System.out.println("Der Betrag wurde eingezahlt!"); + + liste.add("Datum " + LocalDateTime.now() + " neuer KontoStand " + kontoStand + "\n"); + } + +// bewegungen.add (new KontoBewegung(betrag,"Einzahlung am Schalter","Einzaglung",inhaber)); } + public void geldAuszahlen(double betrag) { if (betrag <= 0 || betrag > kontoStand) { System.out.println( @@ -54,6 +68,16 @@ public class Konto { } + public ArrayList getListe() { + return liste; + } + + public void KontoAuszug() { + for (int i = 0; i < liste.size(); i++) { + + } + } + @Override public String toString() { return "Konto [nummer= " + nummer + ", inhaber= " + inhaber + ", kontoStand= " + kontoStand + "€" + " ]"; diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoBewegung.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoBewegung.java index 28c8c55..206e8eb 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoBewegung.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoBewegung.java @@ -1,5 +1,30 @@ package de.hs_mannheim.informatik.bank.domain; +import java.util.Date; + public class KontoBewegung { + private long betrag; + private Date date; + private String betreff; + private String art; + private String auftragGeber; + + public KontoBewegung(long betrag, String betreff, String art, String auftragGeber) { + this.betrag = betrag; + this.betreff = betreff; + this.art = art; + this.auftragGeber = auftragGeber; + this.date = new Date(); + } + + @Override + public String toString() { + return "KontoBewegung [betrag=" + betrag + ", date=" + date + ", betreff=" + betreff + ", art=" + art + + ", 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 907dc59..9d3d59d 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,22 +1,49 @@ package de.hs_mannheim.informatik.bank.facade; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.ObjectInputStream; import java.util.Collection; import de.hs_mannheim.informatik.bank.domain.Bank; +import de.hs_mannheim.informatik.bank.domain.GiroKonto; import de.hs_mannheim.informatik.bank.domain.Konto; public class Banksystem { private Bank bank; +// private HashMapkonten = new HashMap<>(); +// private Collectionkonten = bank.getKontenliste(); + public Banksystem(String bankname) { this.bank = new Bank(bankname); } + public void datenspeichern() throws FileNotFoundException, IOException, ClassNotFoundException { + ObjectInputStream ois = new ObjectInputStream(new FileInputStream("src/Kundenliste.ser")); +// konten = (HashMap)ois.readObject(); + + } + public int kontoAnlegen(String name, long kontoStand) { Konto k = new Konto(name, kontoStand); bank.addKonto(k); return k.getKontonummer(); + + +// Konto k = new Konto(name, kontoStand); +// if (auswahl == 1) { +// +// } else { +// k = new GiroKonto(name, 0); +// +// } +// +// bank.addKonto(k); +// +// return k.getKontonummer(); } /* @@ -40,21 +67,6 @@ public class Banksystem { return liste; } -// /* -// * Einzelnes Konto kann per Kontonummer abgefragt werden! -// */ -// -// public void kontoInformationen(int kontonummer) { -// Collection konten = bank.getKontenliste(); -// for (Konto k : konten) { -// if (k.getKontonummer() == kontonummer) { -// k.getkontoStand(); -// }else { -// System.out.println("Konro nicht vorhanden!"); -// } -// } -// } - public boolean kontoVorhanden(int kontonummer) { Collection konten = bank.getKontenliste(); for (Konto k : konten) { @@ -67,6 +79,36 @@ public class Banksystem { return false; } + public void KontoAuszug(int kontonummer) { + Collection konten = bank.getKontenliste(); + for (Konto k : konten) { + if (k.getKontonummer() == kontonummer) { + k.getKontonummer(); + System.out.println(k.getListe()); + + } + } + } + /* + * KontoInformationen! + */ + + public void kontoInformationen(int kontonummer) { + Collection konten = bank.getKontenliste(); + for (Konto k : konten) { + if (k.getKontonummer() == kontonummer) { + k.getKontonummer(); + k.getkontoInhaber(); + System.out.println("Der Kontoinhaber " + k.getkontoInhaber() + " mit der folgenden Kontonummer " + + k.getKontonummer()); + + } else { + System.out.println("Konto nicht vorhanden! "); +// throw new RuntimeException("Konto nicht vorhanden!"); + } + } + } + /* * Der Kontostand wird abgefragt. */ @@ -104,11 +146,10 @@ public class Banksystem { Collection konten = bank.getKontenliste(); for (Konto k : konten) { if (k.getKontonummer() == kontonummer) { - k.geldAuszahlen(betrag); } if (k.getKontonummer() != kontonummer) { - + } if (k.getkontoStand() >= betrag) { @@ -124,4 +165,3 @@ public class Banksystem { return bank.getName(); } } - 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 648cc7d..c2ac20e 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,15 +23,16 @@ public class UI { System.out.println("1 -> Konten anzeigen"); System.out.println("2 -> Konto anlegen"); System.out.println("3 -> Kontostand abfragen"); - System.out.println("4 -> Geld einzahlen"); - System.out.println("5 -> Geld abheben"); + System.out.println("4 -> KontoInformation"); + System.out.println("5 -> KontoAuszug"); + System.out.println("6 -> Geld einzahlen"); + System.out.println("7 -> Geld abheben"); System.out.println("9 -> Beenden"); System.out.println(); System.out.print("> "); int input = Integer.parseInt(sc.nextLine()); -// int input = sc.nextInt(); System.out.println(); @@ -46,9 +47,15 @@ public class UI { kontenStandAbfragen(); break; case 4: - geldEinzahlen(); + kontoInformationen(); break; case 5: + KontoAuszug(); + break; + case 6: + geldEinzahlen(); + break; + case 7: geldAuszahlen(); break; case 9: @@ -61,6 +68,20 @@ public class UI { sc.close(); } // hauptmenü + private void KontoAuszug() { + System.out.println("Bitte geben Sie ihre Kontonummer ein "); + int kNr = Integer.parseInt(sc.nextLine()); + bs.KontoAuszug(kNr); + + } + + private void kontoInformationen() { + System.out.println("Bitte geben Sie ihre Kontonummer ein "); + int kNr = Integer.parseInt(sc.nextLine()); + bs.kontoInformationen(kNr); + + } + private void kontenAnzeigen() { String[] konten = bs.getKontenliste(); if (konten.length > 0) { @@ -76,6 +97,10 @@ public class UI { private void kontoAnlegen() { System.out.println("Bitte den Namen des Kontoinhabers angeben: "); String name = sc.nextLine(); + + System.out.println("Möchetn Sie ein Sparkonto(1) oder ein Girokonto(2) anlegen"); + int auswahl= Integer.parseInt(sc.nextLine()); + int kontonummer = bs.kontoAnlegen(name, 0); System.out.println("Konto mit der Nummer " + kontonummer); @@ -121,7 +146,7 @@ public class UI { double betrag = Double.parseDouble(sc.nextLine()); bs.abheben(betrag, kNr); - }else { + } else { System.out.println("Konto nicht vorhanden!"); } }