1
0
Fork 0

Compare commits

..

2 Commits

Author SHA1 Message Date
Oliver Hummel e10a3ca82a Auszahlen und Girokonto hinzugefügt. 2024-01-16 14:19:31 +01:00
Oliver Hummel 9d4a7aca59 Erweiterung mit Geheimnisprinzip 2024-01-16 13:29:33 +01:00
4 changed files with 54 additions and 6 deletions

View File

@ -31,6 +31,19 @@ public class Bank implements Serializable {
public String getName() { public String getName() {
return this.name; return this.name;
} }
// public ArrayList<Bankkonto> getKontenliste() {
public String[] getKontendaten() {
// kontendaten ist ein sog. DTO = Data Transfer Object
String[] kontendaten = new String[kontenliste.size()];
for (int i = 0; i < kontenliste.size(); i++) {
kontendaten[i] = kontenliste.get(i).toString();
}
return kontendaten;
}
public boolean geldEinzahlen(int kontonummer, double betrag) { public boolean geldEinzahlen(int kontonummer, double betrag) {
Bankkonto bk = kontoFinden(kontonummer); Bankkonto bk = kontoFinden(kontonummer);

View File

@ -7,7 +7,7 @@ public class BankUI {
private static Scanner kb = new Scanner(System.in); private static Scanner kb = new Scanner(System.in);
public static void main(String[] args) { public static void main(String[] args) {
bank = Bank.loadBankData(); bank = new Bank("Spaßkasse"); //Bank.loadBankData();
willkommen(); willkommen();
hauptmenü(); hauptmenü();
@ -24,6 +24,7 @@ public class BankUI {
System.out.println("Aufgabe auswählen:"); System.out.println("Aufgabe auswählen:");
System.out.println("1) Konto anlegen"); System.out.println("1) Konto anlegen");
System.out.println("2) Geld einzahlen"); System.out.println("2) Geld einzahlen");
System.out.println("3) Kontenliste anzeigen");
System.out.println("9) Programm beenden"); System.out.println("9) Programm beenden");
System.out.print("Eingabe > "); System.out.print("Eingabe > ");
@ -33,6 +34,7 @@ public class BankUI {
switch (eingabe) { switch (eingabe) {
case 1 -> kontoAnlegenScreen(); case 1 -> kontoAnlegenScreen();
case 2 -> geldEinzahlenScreen(); case 2 -> geldEinzahlenScreen();
case 3 -> kontenlisteAnzeigenScreen();
case 9 -> aufWiedersehenScreen(); case 9 -> aufWiedersehenScreen();
} }
@ -58,6 +60,14 @@ public class BankUI {
boolean erg = bank.geldEinzahlen(kontonummer, betrag); boolean erg = bank.geldEinzahlen(kontonummer, betrag);
System.out.println("Geld einzahlen " + (erg?"": "nicht ") + "erfolgreich."); System.out.println("Geld einzahlen " + (erg?"": "nicht ") + "erfolgreich.");
} }
private static void kontenlisteAnzeigenScreen() {
System.out.println("Hier sind die Konten:");
for (String ke : bank.getKontendaten()) {
System.out.println(ke.toString());
}
}
private static void aufWiedersehenScreen() { private static void aufWiedersehenScreen() {
System.out.println("Danke für Ihren Besuch und auf baldiges Wiedersehen!"); System.out.println("Danke für Ihren Besuch und auf baldiges Wiedersehen!");

View File

@ -36,11 +36,13 @@ public class Bankkonto implements Serializable {
return kontostand; return kontostand;
} }
// TODO public boolean geldAuszahlen(double betrag) {
// Geld soll nur ausgezahlt werden, wenn das Konto if (kontostand - betrag >= 0) {
// auch gedeckt ist kontostand -= betrag;
public double geldAuszahlen(double betrag) { return true;
return -1; }
return false;
} }
// TODO // TODO
@ -53,4 +55,9 @@ public class Bankkonto implements Serializable {
return null; return null;
} }
@Override
public String toString() {
return "Bankkonto [name=" + name + ", kontonummer=" + kontonummer + "]";
}
} }

View File

@ -0,0 +1,18 @@
package bank;
public class Girokonto extends Bankkonto {
public Girokonto(String name) {
super(name);
}
public boolean überweisen(Bankkonto zielkonto, double betrag) {
if (this.geldAuszahlen(betrag)) {
zielkonto.geldEinzahlen(betrag);
return true;
}
return false;
}
}