eigenen Version

master
david 2022-10-26 12:29:28 +02:00
parent 8c7cf74396
commit 24e27188dc
5 changed files with 69 additions and 6 deletions

View File

@ -3,15 +3,37 @@ package de.hs_mannheim.informatik.bank.domain;
import java.io.Serializable; import java.io.Serializable;
public class Girokonto extends Konto implements Serializable { public class Girokonto extends Konto implements Serializable {
private long dispokredit;
public Girokonto(String inhaber, int kontozähler) { public Girokonto(String inhaber, int kontozähler) {
super(inhaber, kontozähler); super(inhaber, kontozähler);
this.dispokredit = 1000;
} }
public long getDispo() {
return dispokredit;
}
public void setDispo(long i) {
dispokredit = dispokredit + i;
}
public boolean überweise(Girokonto ziel, long betrag, String zweck) {
if (super.getKontostand() - betrag >= 0) {
if (super.getKontostand()+dispokredit - betrag >= 0) {
this.dispokredit = dispokredit + (super.getKontostand()-betrag);
this.auszahlen(betrag, zweck, "Überweisungsausgang", super.getInhaber());
ziel.einzahlen(betrag, zweck, "Überweisungseingang", super.getInhaber());
return true;
}
}return false;
}
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 >= 0) {
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());
@ -20,7 +42,7 @@ public class Girokonto extends Konto implements Serializable {
} }
return false; return false;
} }*/
@Override @Override
public String toString() { public String toString() {

View File

@ -45,7 +45,7 @@ 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) {
System.out.println("Bin hier!0");
if (stand - betrag >= 0) { if (stand - betrag >= 0) {
stand -= betrag; stand -= betrag;
@ -57,6 +57,35 @@ public class Konto implements Serializable {
return false; return false;
} }
public boolean auszahlen(long betrag, String zweck, String art, String auftraggeber, Konto k) {
long t = ((stand-betrag));//((Girokonto)k).getDispo())
System.out.println("Hello"+betrag/100+((t/100)+((Girokonto)k).getDispo()));
if (stand - betrag >= 0) {
System.out.println("Bin hier!1");
stand -= betrag;
kontobewegungen.add(new Kontobewegung(betrag * -1, zweck, art, auftraggeber));
return true;
}
else if ((t/100)+(((Girokonto)k).getDispo()) >= 0) {
System.out.println("Bin hier!2");
((Girokonto)k).setDispo((stand-betrag)/100);
stand=0;
System.out.println("Hoi"+((Girokonto) k).getDispo());
kontobewegungen.add(new Kontobewegung(betrag * -1, zweck, art, auftraggeber));
return true;
}
return false;
}

View File

@ -49,14 +49,24 @@ public class Banksystem {
return konto.getKontostand(); return konto.getKontostand();
} }
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());
if(konto instanceof Girokonto) {
System.out.println("Bin hier!");
Persistenz.speichereBankDaten(this.bank, bank.getName());
return konto.auszahlen(betrag, "Auszahlung am Schalter", "Auszahlung", konto.getInhaber(), konto);
}
else {
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());

View File

@ -61,6 +61,8 @@ public class UI {
} // hauptmenü } // hauptmenü
private void saldoAnzeigen() { private void saldoAnzeigen() {
System.out.println("Kontonummer eingeben: "); System.out.println("Kontonummer eingeben: ");
int auswahl = Integer.parseInt(sc.nextLine()); int auswahl = Integer.parseInt(sc.nextLine());