From 3d8e7a0f1b5899b57edcb4297c43e09311e10290 Mon Sep 17 00:00:00 2001 From: Oliver Hummel Date: Wed, 16 Nov 2022 17:20:46 +0100 Subject: [PATCH] =?UTF-8?q?Enum=20f=C3=BCr=20Kontoart=20beispielhaft=20ein?= =?UTF-8?q?gef=C3=BChrt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../de/hs_mannheim/informatik/bank/domain/Bank.java | 9 +++++++-- .../hs_mannheim/informatik/bank/domain/Kontoart.java | 5 +++++ .../informatik/bank/facade/Banksystem.java | 5 +++-- .../informatik/bank/facade/SystemTest.java | 8 +++++--- .../src/de/hs_mannheim/informatik/bank/ui/UI.java | 12 +++++++++--- 5 files changed, 29 insertions(+), 10 deletions(-) create mode 100644 Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoart.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 27aeb58..fbdff21 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 @@ -14,10 +14,15 @@ public class Bank implements Serializable { this.kontozähler = -1; } - public int addKonto(String name, int auswahl) { + public int addKonto(String name, Kontoart kontoart) { Konto k; - if (auswahl == 1) +// switch (kontoart) { +// case Sparkonto: System.out.println("sk"); break; +// case Girokonto: System.out.println("gk"); +// } + + if (kontoart == Kontoart.Sparkonto) k = new Konto(name, ++kontozähler); else k = new Girokonto(name, ++kontozähler); diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoart.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoart.java new file mode 100644 index 0000000..e3f0ce9 --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoart.java @@ -0,0 +1,5 @@ +package de.hs_mannheim.informatik.bank.domain; + +public enum Kontoart { + Sparkonto, Girokonto, Tagesgeldkonto +} \ No newline at end of file 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 5ff5144..10c9528 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 @@ -5,6 +5,7 @@ import java.util.Collection; import de.hs_mannheim.informatik.bank.domain.Bank; import de.hs_mannheim.informatik.bank.domain.Girokonto; import de.hs_mannheim.informatik.bank.domain.Konto; +import de.hs_mannheim.informatik.bank.domain.Kontoart; import de.hs_mannheim.informatik.bank.infrastructure.Persistenz; public class Banksystem { @@ -17,8 +18,8 @@ public class Banksystem { this.bank = new Bank(bankname); } - public int kontoAnlegen(String name, int auswahl) throws Exception { - int kontonummer = bank.addKonto(name, auswahl); + public int kontoAnlegen(String name, Kontoart kontoart) throws Exception { + int kontonummer = bank.addKonto(name, kontoart); Persistenz.speichereBankDaten(this.bank, bank.getName()); diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/SystemTest.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/SystemTest.java index b063dce..1ad2940 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/SystemTest.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/SystemTest.java @@ -13,6 +13,8 @@ import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestMethodOrder; +import de.hs_mannheim.informatik.bank.domain.Kontoart; + @TestMethodOrder(OrderAnnotation.class) class SystemTest { private static Banksystem bs; @@ -33,7 +35,7 @@ class SystemTest { @Test @Order(2) void einzahlenTest() throws Exception { - int knr = bs.kontoAnlegen("Test1", 1); + int knr = bs.kontoAnlegen("Test1", Kontoart.Sparkonto); assertEquals(1000, bs.geldEinzahlen(knr, 1000)); @@ -46,8 +48,8 @@ class SystemTest { @Test @Order(3) void persistenzTest() throws Exception { - int knr = bs.kontoAnlegen("Test2", 2); - int knr2 = bs.kontoAnlegen("Test3", 2); + int knr = bs.kontoAnlegen("Test2", Kontoart.Girokonto); + int knr2 = bs.kontoAnlegen("Test3", Kontoart.Girokonto); bs.geldEinzahlen(knr, 1000); bs.geldAuszahlen(knr, 500); 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 3f10d79..a7c3541 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 @@ -2,6 +2,7 @@ package de.hs_mannheim.informatik.bank.ui; import java.util.Scanner; +import de.hs_mannheim.informatik.bank.domain.Kontoart; import de.hs_mannheim.informatik.bank.facade.Banksystem; public class UI { @@ -76,11 +77,16 @@ public class UI { System.out.println("Bitte den Namen des Kontoinhabers angeben: "); String name = sc.nextLine(); - System.out.println("Möchten Sie ein Sparkonto (1) oder ein Girokonto (2) anlegen?"); + System.out.println("Welche Art von Konto möchten Sie anlegen?"); + Kontoart[] kontoarten = Kontoart.values(); + for (int i = 0; i < kontoarten.length; i++) { + System.out.println(" " + kontoarten[i] + " " + "(" + (i+1) + ")"); + } + System.out.print("> "); int auswahl = Integer.parseInt(sc.nextLine()); - int kontonummer = bs.kontoAnlegen(name, auswahl); - System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); + int kontonummer = bs.kontoAnlegen(name, kontoarten[auswahl-1]); + System.out.println(kontoarten[auswahl-1] + " mit der Nummer " + kontonummer + " neu angelegt."); } private void geldEinzahlen() throws Exception {