New: Kunden Klasse angelegt und in TUI implementiert

main
Caner 2022-11-13 14:55:51 +01:00
parent 7fa516d5b1
commit dccc099fad
5 changed files with 69 additions and 42 deletions

View File

@ -7,47 +7,50 @@ import java.util.HashMap;
public class Bank implements Serializable { public class Bank implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private String name; private String name;
private HashMap<Integer, Kunde> konten = new HashMap<>(); private HashMap<Integer, Konto> konten = new HashMap<>();
private int zähler; private HashMap<Integer, Kunde> kundenKonten = new HashMap<>();
private int kontozähler;
public Bank(String name) { public Bank(String name) {
this.name = 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; Konto k;
if (auswahl == 1) if (auswahl == 1)
k = new Konto(name, ++zähler); k = new Konto(name, ++kontozähler);
else else
k = new Girokonto(name, ++zähler); k = new Girokonto(name, ++kontozähler);
kunde.addKontoToList(k); konten.put(k.getKontonummer(), k);
return k.getKontonummer(); 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); Kunde k = new Kunde(name,vorName,alter,++kontozähler);
konten.put(k.getKundenID(), k);
kundenKonten.put(k.getKundenID(), k);
return k.getKundenID();
} }
public String getName() { public String getName() {
return name; return name;
} }
public Collection<Kunde> getKontenliste() { public Collection<Konto> getKontenliste() {
return konten.values(); return konten.values();
} }
public Kunde findeKonto(int kontonummer) { public Konto findeKonto(int kontonummer) {
return konten.get(kontonummer); return konten.get(kontonummer);
} }
public HashMap<Integer, Kunde> getKonten() { public HashMap<Integer, Konto> getKonten() {
return this.konten; return this.konten;
} }

View File

@ -15,7 +15,6 @@ public class Konto implements Serializable {
nummer = 1000 + kontozähler; nummer = 1000 + kontozähler;
this.inhaber = inhaber; this.inhaber = inhaber;
this.kontobewegungen = new ArrayList<>(); this.kontobewegungen = new ArrayList<>();
} }

View File

@ -1,46 +1,32 @@
package de.hs_mannheim.informatik.bank.domain; package de.hs_mannheim.informatik.bank.domain;
import java.util.ArrayList;
public class Kunde { public class Kunde {
private String name; private String name;
private String vorName; private String vorName;
private int kundenID;
private int alter; private int alter;
private ArrayList<Konto> 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.name = name;
this.vorName = vorName; this.vorName = vorName;
this.alter = alter; this.alter = alter;
this.kundenID = 1 + kundenIdZähler; this.kundenID = kundenID;
} }
// public Kunde(String name, String vorName, int alter, Konto konto) {
// @Override
// this.name = name; public String toString() {
// this.vorName = vorName; return "[Name: " + name + ", Vorname: " + vorName + ", Alter: " + alter + ", ID: " + kundenID + "]";
// this.alter = alter; }
// this.konten.add(konto);
//
// }
public int getKundenID() { public int getKundenID() {
return kundenID; return kundenID;
} }
@Override
public String toString() {
return "[Name: " + name + ", Vorname: " + vorName + ", Alter: " + alter + "]";
}
public void addKontoToList(Konto konto) {
this.konten.add(konto);
}
} }

View File

@ -27,7 +27,7 @@ public class Banksystem {
this.bank = new Bank(bankname); 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); int kontonummer = bank.addKonto(name, auswahl);
Persistenz.speichereBankDaten(this.bank, bank.getName()); Persistenz.speichereBankDaten(this.bank, bank.getName());
@ -35,6 +35,11 @@ public class Banksystem {
return kontonummer; return kontonummer;
} }
public int kundenKontoAnlegen(String name, String vorName, int alter) {
int kundenID = bank.addKundenKonto(name, vorName, alter);
return kundenID;
}
public String[] getKontenliste() { public String[] getKontenliste() {
Collection<Konto> konten = bank.getKontenliste(); Collection<Konto> konten = bank.getKontenliste();

View File

@ -27,6 +27,7 @@ public class TUI {
System.out.println("5 -> Kontoauszug drucken"); System.out.println("5 -> Kontoauszug drucken");
System.out.println("6 -> Überweisung beauftragen"); System.out.println("6 -> Überweisung beauftragen");
System.out.println("7 -> Saldo abfragen"); System.out.println("7 -> Saldo abfragen");
System.out.println("8 -> Kunden Profil anlegen");
System.out.println("9 -> Beenden"); System.out.println("9 -> Beenden");
System.out.println(); System.out.println();
@ -58,6 +59,10 @@ public class TUI {
case 7: case 7:
saldoAbfragen(); saldoAbfragen();
break; break;
case 8:
kundenKontoAnlegen();
break;
case 9: case 9:
break mainloop; break mainloop;
} }
@ -72,6 +77,35 @@ public class TUI {
} // hauptmenü } // 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() { private void kontenAnzeigen() {
String[] konten = bs.getKontenliste(); String[] konten = bs.getKontenliste();
if (konten.length > 0) { if (konten.length > 0) {