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 {
private static final long serialVersionUID = 1L;
private String name;
private HashMap<Integer, Kunde> konten = new HashMap<>();
private int zähler;
private HashMap<Integer, Konto> konten = new HashMap<>();
private HashMap<Integer, Kunde> 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<Kunde> getKontenliste() {
public Collection<Konto> getKontenliste() {
return konten.values();
}
public Kunde findeKonto(int kontonummer) {
public Konto findeKonto(int kontonummer) {
return konten.get(kontonummer);
}
public HashMap<Integer, Kunde> getKonten() {
public HashMap<Integer, Konto> getKonten() {
return this.konten;
}

View File

@ -8,14 +8,13 @@ public class Konto implements Serializable {
private int nummer;
protected long stand = 0;
private String inhaber;
protected ArrayList<Kontobewegung> kontobewegungen;
public Konto(String inhaber, int kontozähler) {
nummer = 1000 + kontozähler;
this.inhaber = inhaber;
this.kontobewegungen = new ArrayList<>();
}

View File

@ -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<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.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);
}
}

View File

@ -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<Konto> konten = bank.getKontenliste();

View File

@ -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) {