From 8d57d6dc8f93c6b3bfe2467db32bd7e9488d04da Mon Sep 17 00:00:00 2001 From: WummerMIB Date: Wed, 9 Nov 2022 07:39:00 +0100 Subject: [PATCH] bug fixed can see all Konten in Kunden --- .../informatik/bank/domain/Bank.java | 62 ++++++++++--------- .../informatik/bank/domain/Konto.java | 1 - .../informatik/bank/domain/Kunde.java | 1 + .../informatik/bank/facade/Banksystem.java | 11 +++- .../de/hs_mannheim/informatik/bank/ui/UI.java | 7 ++- 5 files changed, 47 insertions(+), 35 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 595edba..a8d0495 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,6 +1,7 @@ package de.hs_mannheim.informatik.bank.domain; import java.io.Serializable; +import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -9,67 +10,63 @@ import org.hamcrest.core.IsInstanceOf; import de.hs_mannheim.informatik.bank.facade.Banksystem; import de.hs_mannheim.informatik.bank.ui.UI; - - public class Bank implements Serializable { private String name; private HashMap konten = new HashMap<>(); private HashMap kunden = new HashMap<>(); - private HashMap wertpapiere = new HashMap<>(); + private HashMap wertpapiere = new HashMap<>(); private int kontozähler; - + public Bank(String name) { this.name = name; this.kontozähler = -1; } - - public void kaufeAktien(int kontonummer, int idAktien) { Konto kd = konten.get(kontonummer); Aktien ak = wertpapiere.get(idAktien); System.out.println(ak.toString()); - if(kd instanceof Depot) { - ((Depot)kd).kaufeAktien((Depot)kd, ak); + if (kd instanceof Depot) { + ((Depot) kd).kaufeAktien((Depot) kd, ak); ak.setInhaber(kd); System.out.println(ak.toString()); - } + } } - - public int addKonto(String name, int auswahl , int id) throws KundeNullException { + + public int addKonto(String name, int auswahl, int id) throws KundeNullException { Konto k; if (auswahl == 1) { k = new Konto(name, ++kontozähler); Kunde ku = kunden.get(id); - if(ku == null) { + if (ku == null) { throw new KundeNullException(); } - k.setKunde(ku.getId());} - else if(auswahl == 2) { + k.setKunde(ku.getId()); + } else if (auswahl == 2) { k = new Girokonto(name, ++kontozähler); Kunde ku = kunden.get(id); - if(ku == null) { + if (ku == null) { throw new KundeNullException(); } k.setKunde(ku.getId()); } else { k = new Depot(name, ++kontozähler); Kunde ku = kunden.get(id); - if(ku == null) { + if (ku == null) { throw new KundeNullException(); } k.setKunde(ku.getId()); } konten.put(k.getKontonummer(), k); - + return k.getKontonummer(); } - + public String getName() { return name; } - + public Collection getKontenliste() { return konten.values(); } @@ -77,15 +74,17 @@ public class Bank implements Serializable { public Konto findeKonto(int kontonummer) { return konten.get(kontonummer); } - + public void kundeAnlegen(String vorname, String name, int alter, String wh) { - Kunde ku = new Kunde(vorname,name,alter,wh); + Kunde ku = new Kunde(vorname, name, alter, wh); kunden.put(ku.getId(), ku); } - + public void kontoZuKunde(int kontonummer, int id) { + Kunde ku = kunden.get(id); Konto k = konten.get(kontonummer); - k.setKunde(id); + k.setKunde(ku.getId()); + ku.kundeHatKonto(k.getKontonummer()); } public Collection getKundenListe() { @@ -93,23 +92,28 @@ public class Bank implements Serializable { } public void aktieAnlegen(String aktienName, int kosten, int kontonummer) { - Aktien ak = new Aktien(aktienName,kosten,konten.get(kontonummer)); + Aktien ak = new Aktien(aktienName, kosten, konten.get(kontonummer)); wertpapiere.put(ak.getId(), ak); } - - public Collection getAktienListe() { return wertpapiere.values(); } - - public Kunde findeKunde(int k) { Kunde kunde = kunden.get(k); return kunde; } + public ArrayList getKontenFromKunde(int kunde) { + Kunde k = kunden.get(kunde); + ArrayList kontenKunde = new ArrayList<>(); + ArrayList kontonKunde = k.getKontennummern(); + for (int i : kontonKunde) { + Konto ku = konten.get(i); + kontenKunde.add(ku); + } + return kontenKunde; + } - } 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 6903a09..08605c3 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 @@ -13,7 +13,6 @@ public class Konto implements Serializable { public Konto(String inhaber, int kontozähler) { nummer = 1000 + kontozähler; this.inhaber = inhaber; - this.kontobewegungen = new ArrayList<>(); } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kunde.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kunde.java index 0faf7a7..0a4eeb3 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kunde.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kunde.java @@ -18,6 +18,7 @@ public class Kunde implements Serializable{ this.alter = alter; this.wohnort = wohnort; this.id++; + kontennummern = new ArrayList<>(); } public void kundeHatKonto(int k) { 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 ec2dd2b..0ecf483 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 @@ -148,10 +148,15 @@ public class Banksystem { } public String[] getKundenKontos(int kunde) { - Kunde ku = bank.findeKunde(kunde); - ArrayList liste = ku.getKontennummern(); - + ArrayList konten = bank.getKontenFromKunde(kunde); + String[] liste = new String[konten.size()]; + int i = 0; + for (Konto k : konten) { + liste[i++] = k.toString(); + } + + return liste; } } 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 85185e1..277f22d 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 @@ -106,8 +106,11 @@ public class UI { System.out.println("Geben sie ihre KundenID ein: "); int k = returnUserInput(); String[] list = bs.getKundenKontos(k); - - + if(list.length >0) { + for(String s : list) { + System.out.println(s); + } + } } private void aktienKaufen() throws Exception {