From 16e7e012dff53828bee1f73c0e68e7035ddc581c Mon Sep 17 00:00:00 2001 From: david Date: Tue, 8 Nov 2022 13:27:30 +0100 Subject: [PATCH] Eigene Exception + Fehler behoben bei kontoAnlegen --- .../informatik/bank/domain/Bank.java | 11 ++++++++++- .../bank/domain/KundeNullException.java | 7 +++++++ .../informatik/bank/facade/Banksystem.java | 6 +++++- .../de/hs_mannheim/informatik/bank/ui/UI.java | 18 ++++++++++++++++-- 4 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KundeNullException.java 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 61ada25..db402a9 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 @@ -36,20 +36,29 @@ public class Bank implements Serializable { } } - public int addKonto(String name, int auswahl , int id) { + 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) { + throw new KundeNullException(); + } k.setKunde(ku);} else if(auswahl == 2) { k = new Girokonto(name, ++kontozähler); Kunde ku = kunden.get(id); + if(ku == null) { + throw new KundeNullException(); + } k.setKunde(ku); } else { k = new Depot(name, ++kontozähler); Kunde ku = kunden.get(id); + if(ku == null) { + throw new KundeNullException(); + } k.setKunde(ku); } konten.put(k.getKontonummer(), k); diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KundeNullException.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KundeNullException.java new file mode 100644 index 0000000..6386353 --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KundeNullException.java @@ -0,0 +1,7 @@ +package de.hs_mannheim.informatik.bank.domain; + +public class KundeNullException extends Exception { + public KundeNullException() { + super("Der Kunde ist Null"); + } +} 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 3454d24..042c6fd 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 @@ -103,7 +103,11 @@ public class Banksystem { bank.kundeAnlegen( vorname, name, alter, wh); Persistenz.speichereBankDaten(this.bank, bank.getName()); } - + public Collection getKunden(){ + return bank.getKundenListe(); + } + + public String[] getKundenListe() { Collection kunden = bank.getKundenListe(); String[] liste = new String[kunden.size()]; 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 cede29a..7625f81 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 @@ -1,7 +1,10 @@ package de.hs_mannheim.informatik.bank.ui; +import java.util.Collection; import java.util.Scanner; +import de.hs_mannheim.informatik.bank.domain.Kunde; +import de.hs_mannheim.informatik.bank.domain.KundeNullException; import de.hs_mannheim.informatik.bank.facade.Banksystem; public class UI { @@ -169,17 +172,28 @@ public class UI { } private void kontoAnlegen() throws Exception { + System.out.println("Bitte den Namen des Kontoinhabers angeben: "); String name = sc.nextLine(); System.out.println("Möchten Sie ein Sparkonto (1), Girokonto (2) oder ein Depot (3) anlegen?"); int auswahl = returnUserInput(); - System.out.println("Geben sie die Kundennummer ein(id)"); + System.out.println("Geben sie ihre Kundennummer ein:"); int Kundennummer = returnUserInput(); - + try { int kontonummer = bs.kontoAnlegen(name, auswahl, Kundennummer); System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); + }catch(KundeNullException e) { + System.err.print("Der Kunde konnte nicht gefunden werden!"); + } + + + + + + + } private void geldEinzahlen() throws Exception {