Enum für Kontoart beispielhaft eingeführt.

enums
Oliver Hummel 2022-11-16 17:20:46 +01:00
parent 44541d7255
commit 3d8e7a0f1b
5 changed files with 29 additions and 10 deletions

View File

@ -14,10 +14,15 @@ public class Bank implements Serializable {
this.kontozähler = -1; this.kontozähler = -1;
} }
public int addKonto(String name, int auswahl) { public int addKonto(String name, Kontoart kontoart) {
Konto k; 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); k = new Konto(name, ++kontozähler);
else else
k = new Girokonto(name, ++kontozähler); k = new Girokonto(name, ++kontozähler);

View File

@ -0,0 +1,5 @@
package de.hs_mannheim.informatik.bank.domain;
public enum Kontoart {
Sparkonto, Girokonto, Tagesgeldkonto
}

View File

@ -5,6 +5,7 @@ import java.util.Collection;
import de.hs_mannheim.informatik.bank.domain.Bank; import de.hs_mannheim.informatik.bank.domain.Bank;
import de.hs_mannheim.informatik.bank.domain.Girokonto; import de.hs_mannheim.informatik.bank.domain.Girokonto;
import de.hs_mannheim.informatik.bank.domain.Konto; import de.hs_mannheim.informatik.bank.domain.Konto;
import de.hs_mannheim.informatik.bank.domain.Kontoart;
import de.hs_mannheim.informatik.bank.infrastructure.Persistenz; import de.hs_mannheim.informatik.bank.infrastructure.Persistenz;
public class Banksystem { public class Banksystem {
@ -17,8 +18,8 @@ public class Banksystem {
this.bank = new Bank(bankname); this.bank = new Bank(bankname);
} }
public int kontoAnlegen(String name, int auswahl) throws Exception { public int kontoAnlegen(String name, Kontoart kontoart) throws Exception {
int kontonummer = bank.addKonto(name, auswahl); int kontonummer = bank.addKonto(name, kontoart);
Persistenz.speichereBankDaten(this.bank, bank.getName()); Persistenz.speichereBankDaten(this.bank, bank.getName());

View File

@ -13,6 +13,8 @@ import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder; import org.junit.jupiter.api.TestMethodOrder;
import de.hs_mannheim.informatik.bank.domain.Kontoart;
@TestMethodOrder(OrderAnnotation.class) @TestMethodOrder(OrderAnnotation.class)
class SystemTest { class SystemTest {
private static Banksystem bs; private static Banksystem bs;
@ -33,7 +35,7 @@ class SystemTest {
@Test @Test
@Order(2) @Order(2)
void einzahlenTest() throws Exception { void einzahlenTest() throws Exception {
int knr = bs.kontoAnlegen("Test1", 1); int knr = bs.kontoAnlegen("Test1", Kontoart.Sparkonto);
assertEquals(1000, bs.geldEinzahlen(knr, 1000)); assertEquals(1000, bs.geldEinzahlen(knr, 1000));
@ -46,8 +48,8 @@ class SystemTest {
@Test @Test
@Order(3) @Order(3)
void persistenzTest() throws Exception { void persistenzTest() throws Exception {
int knr = bs.kontoAnlegen("Test2", 2); int knr = bs.kontoAnlegen("Test2", Kontoart.Girokonto);
int knr2 = bs.kontoAnlegen("Test3", 2); int knr2 = bs.kontoAnlegen("Test3", Kontoart.Girokonto);
bs.geldEinzahlen(knr, 1000); bs.geldEinzahlen(knr, 1000);
bs.geldAuszahlen(knr, 500); bs.geldAuszahlen(knr, 500);

View File

@ -2,6 +2,7 @@ package de.hs_mannheim.informatik.bank.ui;
import java.util.Scanner; import java.util.Scanner;
import de.hs_mannheim.informatik.bank.domain.Kontoart;
import de.hs_mannheim.informatik.bank.facade.Banksystem; import de.hs_mannheim.informatik.bank.facade.Banksystem;
public class UI { public class UI {
@ -76,11 +77,16 @@ public class UI {
System.out.println("Bitte den Namen des Kontoinhabers angeben: "); System.out.println("Bitte den Namen des Kontoinhabers angeben: ");
String name = sc.nextLine(); 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 auswahl = Integer.parseInt(sc.nextLine());
int kontonummer = bs.kontoAnlegen(name, auswahl); int kontonummer = bs.kontoAnlegen(name, kontoarten[auswahl-1]);
System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); System.out.println(kontoarten[auswahl-1] + " mit der Nummer " + kontonummer + " neu angelegt.");
} }
private void geldEinzahlen() throws Exception { private void geldEinzahlen() throws Exception {