Aktueller Stand

main
Berkan 2022-10-24 20:03:11 +02:00
parent 666fd4909a
commit 8975d33a1b
5 changed files with 17 additions and 9 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<projectDescription> <projectDescription>
<name>Bank-Beispiel</name> <name>Bank-Beispiel-Forked</name>
<comment></comment> <comment></comment>
<projects> <projects>
</projects> </projects>

View File

@ -4,6 +4,7 @@ import de.hs_mannheim.informatik.bank.facade.Banksystem;
import de.hs_mannheim.informatik.bank.ui.UI; import de.hs_mannheim.informatik.bank.ui.UI;
public class Main { public class Main {
// Konto toString() durch 100 löschen
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
Banksystem bs = new Banksystem("Spaßkasse Mannheim"); Banksystem bs = new Banksystem("Spaßkasse Mannheim");

View File

@ -4,12 +4,13 @@ import java.io.Serializable;
public class Girokonto extends Konto implements Serializable { public class Girokonto extends Konto implements Serializable {
public Girokonto(String inhaber, int kontozähler) { public Girokonto(String inhaber, int kontozähler) {
super(inhaber, kontozähler); super(inhaber, kontozähler);
} }
public boolean überweise(Girokonto ziel, long betrag, String zweck) { 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()); this.auszahlen(betrag, zweck, "Überweisungsausgang", super.getInhaber());
ziel.einzahlen(betrag, zweck, "Überweisungseingang", super.getInhaber()); ziel.einzahlen(betrag, zweck, "Überweisungseingang", super.getInhaber());

View File

@ -7,6 +7,7 @@ public class Konto implements Serializable {
private int nummer; private int nummer;
private long stand = 0; private long stand = 0;
private String inhaber; private String inhaber;
public final long dispo_summe_giro = -(100 * 100);
private ArrayList<Kontobewegung> kontobewegungen; private ArrayList<Kontobewegung> kontobewegungen;
@ -23,7 +24,7 @@ public class Konto implements Serializable {
@Override @Override
public String toString() { public String toString() {
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]"; return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + " Stand=" + stand / 100 + "]";
} }
public String getInhaber() { public String getInhaber() {
@ -41,14 +42,16 @@ public class Konto implements Serializable {
} }
public boolean auszahlen(long betrag, String zweck, String art, String auftraggeber) { 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; stand -= betrag;
kontobewegungen.add(new Kontobewegung(betrag * -1, zweck, art, auftraggeber)); kontobewegungen.add(new Kontobewegung(betrag * -1, zweck, art, auftraggeber));
return true; return true;
} }
return false; return false;
} }
@ -63,4 +66,8 @@ public class Konto implements Serializable {
return auflistung; return auflistung;
} }
public long getDispoGiro() {
return dispo_summe_giro;
}
} }

View File

@ -52,7 +52,6 @@ public class Banksystem {
public boolean geldAuszahlen(int kontonummer, long betrag) throws Exception { public boolean geldAuszahlen(int kontonummer, long betrag) throws Exception {
Konto konto = bank.findeKonto(kontonummer); Konto konto = bank.findeKonto(kontonummer);
Persistenz.speichereBankDaten(this.bank, bank.getName()); Persistenz.speichereBankDaten(this.bank, bank.getName());
return konto.auszahlen(betrag, "Auszahlung am Schalter", "Auszahlung", konto.getInhaber()); return konto.auszahlen(betrag, "Auszahlung am Schalter", "Auszahlung", konto.getInhaber());