From dccc099fad66ad2377fa9039f67da8e083421be7 Mon Sep 17 00:00:00 2001 From: Caner Date: Sun, 13 Nov 2022 14:55:51 +0100 Subject: [PATCH] New: Kunden Klasse angelegt und in TUI implementiert --- .../informatik/bank/domain/Bank.java | 29 ++++++++------- .../informatik/bank/domain/Konto.java | 5 ++- .../informatik/bank/domain/Kunde.java | 36 ++++++------------- .../informatik/bank/facade/Banksystem.java | 7 +++- .../hs_mannheim/informatik/bank/tui/TUI.java | 34 ++++++++++++++++++ 5 files changed, 69 insertions(+), 42 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 08e0761..a0fb26d 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 @@ -7,47 +7,50 @@ import java.util.HashMap; public class Bank implements Serializable { private static final long serialVersionUID = 1L; private String name; - private HashMap konten = new HashMap<>(); - private int zähler; + private HashMap konten = new HashMap<>(); + private HashMap kundenKonten = new HashMap<>(); + private int kontozähler; public Bank(String name) { this.name = name; - this.zähler = -1; + this.kontozähler = -1; } - public int addKonto(Kunde kunde, int auswahl) { + public int addKonto(String name, int auswahl) { Konto k; if (auswahl == 1) - k = new Konto(name, ++zähler); + k = new Konto(name, ++kontozähler); else - k = new Girokonto(name, ++zähler); + k = new Girokonto(name, ++kontozähler); - kunde.addKontoToList(k); + konten.put(k.getKontonummer(), k); return k.getKontonummer(); } - public void addKunde(String name, String vorName, int alter) { + public int addKundenKonto(String name, String vorName, int alter) { - Kunde k = new Kunde(name,vorName,alter, ++zähler); - konten.put(k.getKundenID(), k); + Kunde k = new Kunde(name,vorName,alter,++kontozähler); + + kundenKonten.put(k.getKundenID(), k); + return k.getKundenID(); } public String getName() { return name; } - public Collection getKontenliste() { + public Collection getKontenliste() { return konten.values(); } - public Kunde findeKonto(int kontonummer) { + public Konto findeKonto(int kontonummer) { return konten.get(kontonummer); } - public HashMap getKonten() { + public HashMap getKonten() { return this.konten; } 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 830362e..6ace150 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 @@ -8,14 +8,13 @@ public class Konto implements Serializable { private int nummer; protected long stand = 0; private String inhaber; - + protected ArrayList kontobewegungen; 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 c268eca..a25e848 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 @@ -1,46 +1,32 @@ package de.hs_mannheim.informatik.bank.domain; -import java.util.ArrayList; public class Kunde { private String name; private String vorName; - private int kundenID; private int alter; - private ArrayList konten = new ArrayList<>(); + private int kundenID; + - public Kunde(String name, String vorName, int alter, int kundenIdZähler) { + public Kunde(String name, String vorName, int alter, int kundenID) { this.name = name; this.vorName = vorName; this.alter = alter; - this.kundenID = 1 + kundenIdZähler; - + this.kundenID = kundenID; + } -// public Kunde(String name, String vorName, int alter, Konto konto) { -// -// this.name = name; -// this.vorName = vorName; -// this.alter = alter; -// this.konten.add(konto); -// -// } + + @Override + public String toString() { + return "[Name: " + name + ", Vorname: " + vorName + ", Alter: " + alter + ", ID: " + kundenID + "]"; + } public int getKundenID() { return kundenID; } - - @Override - public String toString() { - return "[Name: " + name + ", Vorname: " + vorName + ", Alter: " + alter + "]"; - } - - public void addKontoToList(Konto konto) { - - this.konten.add(konto); - - } + } 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 6fbb339..7f440c6 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 @@ -27,7 +27,7 @@ public class Banksystem { this.bank = new Bank(bankname); } - public int kontoAnlegen(Kunde kunde, int auswahl) throws IOException { + public int kontoAnlegen(String name, int auswahl) throws IOException { int kontonummer = bank.addKonto(name, auswahl); Persistenz.speichereBankDaten(this.bank, bank.getName()); @@ -35,6 +35,11 @@ public class Banksystem { return kontonummer; } + public int kundenKontoAnlegen(String name, String vorName, int alter) { + int kundenID = bank.addKundenKonto(name, vorName, alter); + + return kundenID; + } public String[] getKontenliste() { Collection konten = bank.getKontenliste(); diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/tui/TUI.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/tui/TUI.java index 32814b6..8a52e78 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/tui/TUI.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/tui/TUI.java @@ -27,6 +27,7 @@ public class TUI { System.out.println("5 -> Kontoauszug drucken"); System.out.println("6 -> Überweisung beauftragen"); System.out.println("7 -> Saldo abfragen"); + System.out.println("8 -> Kunden Profil anlegen"); System.out.println("9 -> Beenden"); System.out.println(); @@ -58,6 +59,10 @@ public class TUI { case 7: saldoAbfragen(); break; + case 8: + kundenKontoAnlegen(); + break; + case 9: break mainloop; } @@ -72,6 +77,35 @@ public class TUI { } // hauptmenü + private void kundenKontoAnlegen() { + + String name = ""; + String vorName = ""; + int alter = 0; + boolean ok = true; + + while(ok) { + + System.out.println("Bitte geben Sie ihren Namen ein: "); + name = sc.nextLine(); + + System.out.println("Bitte geben Sie ihren Vornamen ein: "); + vorName = sc.nextLine(); + + try { + System.out.println("Bitte geben Sie ihr Alter ein: "); + alter = Integer.parseInt(sc.nextLine()); + } catch (NumberFormatException nfe) { + System.err.println("Ihr Alter muss eine Zahl sein"); + continue; + } + ok = false; + } + + int kundenID = bs.kundenKontoAnlegen(name, vorName, alter); + System.out.println("Kunden Profil mit der ID " + kundenID + " angelegt"); + } + private void kontenAnzeigen() { String[] konten = bs.getKontenliste(); if (konten.length > 0) {