From 8975d33a1b9fe334683664f0faa2db0ddd6d5126 Mon Sep 17 00:00:00 2001 From: Berkan Date: Mon, 24 Oct 2022 20:03:11 +0200 Subject: [PATCH] Aktueller Stand --- Bank-Beispiel/.project | 2 +- .../de/hs_mannheim/informatik/bank/Main.java | 3 ++- .../informatik/bank/domain/Girokonto.java | 3 ++- .../informatik/bank/domain/Konto.java | 17 ++++++++++++----- .../informatik/bank/facade/Banksystem.java | 1 - 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Bank-Beispiel/.project b/Bank-Beispiel/.project index 49c2c92..a7ca5b7 100644 --- a/Bank-Beispiel/.project +++ b/Bank-Beispiel/.project @@ -1,6 +1,6 @@ - Bank-Beispiel + Bank-Beispiel-Forked diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java index 16a794f..ff6fc1c 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java @@ -4,7 +4,8 @@ import de.hs_mannheim.informatik.bank.facade.Banksystem; import de.hs_mannheim.informatik.bank.ui.UI; public class Main { - +// Konto toString() durch 100 löschen + public static void main(String[] args) throws Exception { Banksystem bs = new Banksystem("Spaßkasse Mannheim"); UI ui = new UI(bs); diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java index d9b1d77..bda90c5 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java @@ -4,12 +4,13 @@ import java.io.Serializable; public class Girokonto extends Konto implements Serializable { + public Girokonto(String inhaber, int kontozähler) { super(inhaber, kontozähler); } public boolean überweise(Girokonto ziel, long betrag, String zweck) { - if (super.getKontostand() - betrag >= 0) { + if (super.getKontostand() - betrag >= super.getDispoGiro()) { this.auszahlen(betrag, zweck, "Überweisungsausgang", super.getInhaber()); ziel.einzahlen(betrag, zweck, "Überweisungseingang", super.getInhaber()); 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..32913cf 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 @@ -7,6 +7,7 @@ public class Konto implements Serializable { private int nummer; private long stand = 0; private String inhaber; + public final long dispo_summe_giro = -(100 * 100); private ArrayList kontobewegungen; @@ -23,7 +24,7 @@ public class Konto implements Serializable { @Override public String toString() { - return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]"; + return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + " Stand=" + stand / 100 + "]"; } public String getInhaber() { @@ -41,14 +42,16 @@ public class Konto implements Serializable { } public boolean auszahlen(long betrag, String zweck, String art, String auftraggeber) { - if (stand - betrag >= 0) { + if ((this instanceof Girokonto) && stand - betrag >= getDispoGiro()) { + stand -= betrag; + kontobewegungen.add(new Kontobewegung(betrag * -1, zweck, art, auftraggeber)); + return true; + } + else if(stand - betrag >= 0) { stand -= betrag; - kontobewegungen.add(new Kontobewegung(betrag * -1, zweck, art, auftraggeber)); - return true; } - return false; } @@ -62,5 +65,9 @@ public class Konto implements Serializable { return auflistung; } + + public long getDispoGiro() { + return dispo_summe_giro; + } } 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 5d72301..5a8a791 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 @@ -52,7 +52,6 @@ public class Banksystem { public boolean geldAuszahlen(int kontonummer, long betrag) throws Exception { Konto konto = bank.findeKonto(kontonummer); - Persistenz.speichereBankDaten(this.bank, bank.getName()); return konto.auszahlen(betrag, "Auszahlung am Schalter", "Auszahlung", konto.getInhaber());