diff --git a/Bank-Beispiel/Spaßkasse Mannheim-bank-data.ser b/Bank-Beispiel/Spaßkasse Mannheim-bank-data.ser new file mode 100644 index 0000000..05f51ea Binary files /dev/null and b/Bank-Beispiel/Spaßkasse Mannheim-bank-data.ser differ diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java index 31220e1..931f513 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java @@ -62,5 +62,15 @@ public class Konto implements Serializable { return auflistung; } + +// public long berechneSaldo(int anzahl) { +// long saldo = 0; +// +// for (int i = 0; i < anzahl; i++) { +// saldo += kontobewegungen.get(i).getBetrag() ; +// } +// +// return saldo; +// } } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java index 04e96ae..83df67b 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java @@ -20,16 +20,26 @@ class KontoTest { Konto k2 = new Konto("Mayer", 1); assertEquals("Mayer", k2.getInhaber()); + //beide Konten sind nicht gleich assertNotEquals(k.getKontonummer(), k2.getKontonummer()); k2.einzahlen(100, "Test", "Einzahlung", "JUnit"); + //ich erwarte 100€ in seinem Konto assertEquals(100, k2.getKontostand()); assertTrue(k2.auszahlen(50, "Test", "Auszahlung", "JUnit")); + //verbliebene Summe assertEquals(50, k2.getKontostand()); assertFalse(k2.auszahlen(500, "Test", "Auszahlung", "JUnit")); + //die Summe ist nicht auszahlbar! assertEquals(50, k2.getKontostand()); + + } + + @Test + void testEinzahlungEingabe() { + } } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontobewegung.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontobewegung.java index d6b15dd..e21ec32 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontobewegung.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontobewegung.java @@ -18,6 +18,11 @@ public class Kontobewegung implements Serializable { this.datum = new Date(); } + +// public long getBetrag() { +// return betrag; +// } + @Override public String toString() { diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kunde.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kunde.java new file mode 100644 index 0000000..dc33777 --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kunde.java @@ -0,0 +1,16 @@ +package de.hs_mannheim.informatik.bank.domain; + +public class Kunde extends Konto{ + + private String vorName; + private String nachName; + private int alter; + private String wohnOrt; + private String Kundschaft; + + public Kunde(String inhaber, int kontozähler) { + super(inhaber, kontozähler); + // TODO Auto-generated constructor stub + } + +} 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 9dc9403..da95cbf 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 @@ -43,6 +43,10 @@ public class Banksystem { public long geldEinzahlen(int kontonummer, long betrag) throws Exception { Konto konto = bank.findeKonto(kontonummer); + + if(betrag < konto.getKontostand()){ + System.out.println("sorry du bist arm!"); + } konto.einzahlen(betrag, "Einzahlung am Schalter", "Einzahlung", konto.getInhaber()); Persistenz.speichereBankDaten(this.bank, bank.getName()); @@ -80,6 +84,11 @@ public class Banksystem { return konto.getKontostand(); } +// public long saldoBestimmen(int kontonummer, int anzahl) { +// Konto konto = bank.findeKonto(kontonummer); +// +// return konto.berechneSaldo(anzahl); +// } } //commit this 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 001e321..27cc814 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 @@ -27,6 +27,7 @@ public class UI { System.out.println("4 -> Geld auszahlen"); System.out.println("5 -> Kontoauszug drucken"); System.out.println("6 -> Überweisung beauftragen"); + System.out.println("7 -> Saldo abfragen"); System.out.println("9 -> Beenden"); System.out.println(); @@ -45,6 +46,7 @@ public class UI { case 4: geldAuszahlen(); break; case 5: kontoauszugDrucken(); break; case 6: überweisungBeauftragen(); break; + //case 7: saldoAbfragen(); break; case 9: break mainloop; } @@ -73,6 +75,7 @@ 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) oder ein Girokonto (2) anlegen?"); int auswahl = Integer.parseInt(sc.nextLine()); @@ -82,32 +85,60 @@ public class UI { } private void geldEinzahlen() throws Exception { - System.out.println("Geld einzahlen"); - System.out.print("Bitte die gewünschte Kontonummer eingeben: "); - int kontonummer = Integer.parseInt(sc.nextLine()); + - // optional prüfen, ob Konto existiert + // optional prüfen, ob ein Konto existiert - System.out.print("Bitte den gewünschten Betrag eingeben: "); - double betrag = Double.parseDouble(sc.nextLine()); + try { + System.out.println("Geld einzahlen"); + System.out.print("Bitte die gewünschte Kontonummer eingeben: "); + int kontonummer = Integer.parseInt(sc.nextLine()); + //Konto ist vorhanden! + if (kontonummer == bs.getKontostand(kontonummer)) { + + System.out.print("Bitte den gewünschten Betrag eingeben: "); + double betrag = Double.parseDouble(sc.nextLine()); - long neuerKontostand = bs.geldEinzahlen(kontonummer, (long)betrag * 100); + long neuerKontostand = bs.geldEinzahlen(kontonummer, (long)betrag * 100); - System.out.printf("Einzahlung erfolgreich, neuer Kontostand = %.2f Euro", (neuerKontostand / 100.0)); + System.out.printf("Einzahlung erfolgreich, neuer Kontostand = %.2f Euro", (neuerKontostand / 100.0)); + } + + + + }catch (NullPointerException e) { + System.out.print("Dieses Konto existiert nicht!! "); + } + + } private void geldAuszahlen() throws Exception { - System.out.println("Geld auszahlen"); - System.out.print("Bitte die gewünschte Kontonummer eingeben: "); - int kontonummer = Integer.parseInt(sc.nextLine()); + + //Prüfe ob Konto vorhanden ist! + try { + System.out.println("Geld auszahlen"); + System.out.print("Bitte die gewünschte Kontonummer eingeben: "); + int kontonummer = Integer.parseInt(sc.nextLine()); + + //Konto ist vorhanden! + if (kontonummer == bs.getKontostand(kontonummer)) { + + System.out.print("Bitte den gewünschten Betrag eingeben: "); + double betrag = Double.parseDouble(sc.nextLine()); - System.out.print("Bitte den gewünschten Betrag eingeben: "); - double betrag = Double.parseDouble(sc.nextLine()); + boolean erfolgreich = bs.geldAuszahlen(kontonummer, (long)betrag * 100); - boolean erfolgreich = bs.geldAuszahlen(kontonummer, (long)betrag * 100); + System.out.printf("Auszahlung" + ((!erfolgreich)? " nicht" : "" )+ " erfolgreich. "); + System.out.printf("Neuer Kontostand = %.2f Euro.", (bs.getKontostand(kontonummer) / 100.0)); + } - System.out.printf("Auszahlung" + ((!erfolgreich)? " nicht" : "" )+ " erfolgreich. "); - System.out.printf("Neuer Kontostand = %.2f Euro.", (bs.getKontostand(kontonummer) / 100.0)); + + + } catch (NullPointerException e) { + System.out.print("Dieses Konto existiert nicht!! "); + } + } private void kontoauszugDrucken() { @@ -145,5 +176,17 @@ public class UI { System.out.println("Überweisung" + ( (!erfolgreich) ? " nicht" : "") + " erfolgreich ausgeführt."); } + +// private void saldoAbfragen() { +// System.out.print("Bitte die Kontonummer des gewünschten Kontos eingeben: "); +// int konto = Integer.parseInt(sc.nextLine()); +// +// System.out.print("Bitte die Anzahl der Kontobewegungen für den Saldo eingeben: "); +// int anzahl = Integer.parseInt(sc.nextLine()); +// +// long saldo = bs.saldoBestimmen(konto, anzahl); +// System.out.printf("Der Saldo nach %d Kontobewegungen beträgt %.2f Euro.%n", anzahl, (saldo/100d)); +// } + }