Überweisung hinzugefügt

main
Peter Gapon 2022-10-20 19:19:48 +02:00
parent 386605de89
commit e39c9bd8ae
5 changed files with 51 additions and 9 deletions

View File

@ -1,8 +1,10 @@
package de.hs_mannheim.informatik.bank.domain;
import java.io.Serializable;
import exception.BankException;
public class Girokonto extends Konto {
public class Girokonto extends Konto implements Serializable {
public Girokonto(String inhaber) {
super(inhaber);

View File

@ -6,8 +6,7 @@ import java.util.Date;
import exception.BankException;
public class Konto implements Serializable{
private static final long serialVersionUID = 1L;
public class Konto implements Serializable {
private static int kontozähler = 0;

View File

@ -1,8 +1,9 @@
package de.hs_mannheim.informatik.bank.domain;
import java.io.Serializable;
import java.util.Date;
public class Kontobewegung {
public class Kontobewegung implements Serializable {
private long betrag;
private Date date;
private String betreff;

View File

@ -98,4 +98,15 @@ public class Banksystem {
return konto.getKontobewgungen();
}
public boolean überweisungBeauftragen(int startkonto, int zielkonto, long betrag, String verwendungszweck) throws BankException {
Konto start = getKontoBanksystem(startkonto);
Konto ziel = getKontoBanksystem(zielkonto);
if (start instanceof Girokonto && ziel instanceof Girokonto) {
return ((Girokonto)start).überweise((Girokonto)ziel, betrag, verwendungszweck);
}
return false;
}
}

View File

@ -30,9 +30,10 @@ public class UI {
System.out.println("4 -> Konto auszahlen");
System.out.println("5 -> Konto anzeigen");
System.out.println("6 -> Kontoauszug anzeigen");
System.out.println("7 -> Konten speichern?");
System.out.println("8 -> Konten laden?");
System.out.println("9 -> Kontoauszug drucken?");
System.out.println("7 -> Konten speichern");
System.out.println("8 -> Konten laden");
System.out.println("9 -> Kontoauszug drucken");
System.out.println("10 -> Überweisung beauftragen");
System.out.println("99 -> Beenden");
System.out.println();
@ -50,6 +51,7 @@ public class UI {
case 7: bs.kontenSpeichern(); break;
case 8: bs.kontenLaden(); break;
case 9: kontoauszugDrucken(); break;
case 10:überweisungBeauftragen(); break;
case 99: break mainloop;
}
}
@ -107,7 +109,11 @@ public class UI {
int temp = 0;
for (int i = 0; i < konten.length; i++) {
if (konten[i].contains(kName)) {
temp = Integer.parseInt(konten[i].substring(14, 18));
if (konten[i].contains(kName) && konten[i].contains("Giro-Konto")) {
temp = Integer.parseInt(konten[i].substring(19, 23));
} else {
temp = Integer.parseInt(konten[i].substring(14, 18));
}
break;
} else {
System.out.println("Konto nicht vorhanden");
@ -134,7 +140,11 @@ public class UI {
int temp = 0;
for (int i = 0; i < konten.length; i++) {
if (konten[i].contains(kName)) {
temp = Integer.parseInt(konten[i].substring(14, 18));
if (konten[i].contains(kName) && konten[i].contains("Giro-Konto")) {
temp = Integer.parseInt(konten[i].substring(19, 23));
} else {
temp = Integer.parseInt(konten[i].substring(14, 18));
}
break;
} else {
System.out.println("Konto nicht vorhanden");
@ -176,5 +186,24 @@ public class UI {
else
System.out.println("Noch keine Kontobewegungen.");
}
private void überweisungBeauftragen() throws BankException {
System.out.print("Bitte die Kontonummer des Ausgangskontos der Überweisung eingeben: ");
int startkonto = Integer.parseInt(sc.nextLine());
System.out.print("Bitte die Kontonummmer für das Zielkonto der Überweisung eingeben: ");
int zielkonto = Integer.parseInt(sc.nextLine());
System.out.print("Bitte den gewünschten Überweisungsbetrag eingeben: ");
double betrag = Double.parseDouble(sc.nextLine());
System.out.print("Bitte den Verwendungszweck eingeben: ");
String verwendungszweck = sc.nextLine();
// boolean erfolgreich = bs.überweisungBeauftragen(startkonto, zielkonto, (long)(betrag * 100), verwendungszweck);
boolean erfolgreich = bs.überweisungBeauftragen(startkonto, zielkonto, (long)(betrag), verwendungszweck);
System.out.println("Überweisung" + ( (!erfolgreich) ? " nicht" : "") + " erfolgreich ausgeführt.");
}
}