forked from hummel/BankSystemWS23
Compare commits
3 Commits
persistenc
...
main
Author | SHA1 | Date |
---|---|---|
Florian Hörner | 8c34d538f0 | |
Florian Hörner | e6f5703d8c | |
Florian Hörner | 791d0e512d |
|
@ -1,8 +1,9 @@
|
||||||
package bank;
|
package bank;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class Bank {
|
public class Bank implements Serializable {
|
||||||
private String name;
|
private String name;
|
||||||
private ArrayList<Bankkonto> kontenliste;
|
private ArrayList<Bankkonto> kontenliste;
|
||||||
|
|
||||||
|
@ -39,8 +40,44 @@ public class Bank {
|
||||||
if (bk.getKontonummer() == kontonummer)
|
if (bk.getKontonummer() == kontonummer)
|
||||||
return bk;
|
return bk;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//public ArrayList<Bankkonto> getKontenListe() {
|
||||||
|
public String[] getKontenListe() {
|
||||||
|
//kontendaten ist ein sog. DTO = Data Transfer Object
|
||||||
|
String kontendaten[] = new String[kontenliste.size()];
|
||||||
|
|
||||||
|
for (int i = 0; i < kontendaten.length; i++) {
|
||||||
|
kontendaten[i] = kontenliste.get(i).toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
return kontendaten;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBetrag(int kontonummer) {
|
||||||
|
Bankkonto bk = kontoFinden(kontonummer);
|
||||||
|
if (bk != null) {
|
||||||
|
return ""+bk.getKontostand();
|
||||||
|
}
|
||||||
|
return "Fehler bei Kontonummer eingabe";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Bank{" +
|
||||||
|
"name='" + name + '\'' +
|
||||||
|
", kontenliste=" + kontenliste +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean geldAuszahlen(int kontonummer, double betrag) {
|
||||||
|
Bankkonto bk = kontoFinden(kontonummer);
|
||||||
|
|
||||||
|
if (bk != null) {
|
||||||
|
return bk.geldAuszahlen(betrag);
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,10 @@ 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. Geld aiszahlen");
|
||||||
|
System.out.println("4. Konto Betrag anzeigen");
|
||||||
|
System.out.println("-");
|
||||||
|
System.out.println("8. Konten Liste anzeigen");
|
||||||
System.out.println("9) Programm beenden");
|
System.out.println("9) Programm beenden");
|
||||||
|
|
||||||
System.out.print("Eingabe > ");
|
System.out.print("Eingabe > ");
|
||||||
|
@ -31,6 +35,9 @@ public class BankUI {
|
||||||
switch (eingabe) {
|
switch (eingabe) {
|
||||||
case 1 -> kontoAnlegenScreen();
|
case 1 -> kontoAnlegenScreen();
|
||||||
case 2 -> geldEinzahlenScreen();
|
case 2 -> geldEinzahlenScreen();
|
||||||
|
case 3 -> geldAuszahlenScreen();
|
||||||
|
case 4 -> kontoBetraganzeigen();
|
||||||
|
case 8 -> kontenListeanzeigen();
|
||||||
case 9 -> aufWiedersehenScreen();
|
case 9 -> aufWiedersehenScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,6 +45,32 @@ public class BankUI {
|
||||||
} while(true);
|
} while(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void kontoBetraganzeigen() {
|
||||||
|
System.out.print("Bitte Kontonummer eingeben: ");
|
||||||
|
int kontonummer = kb.nextInt();
|
||||||
|
|
||||||
|
System.out.println("Sie haben "+bank.getBetrag(kontonummer)+"€ auf Ihrem Konto");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void geldAuszahlenScreen() {
|
||||||
|
System.out.print("Bitte Kontonummer eingeben: ");
|
||||||
|
int kontonummer = kb.nextInt();
|
||||||
|
|
||||||
|
System.out.print("Bitte Betrag eingeben: ");
|
||||||
|
double betrag = kb.nextDouble();
|
||||||
|
|
||||||
|
boolean erg = bank.geldAuszahlen(kontonummer, betrag);
|
||||||
|
System.out.println("Geld auszahlen " + (erg?"": "nicht ") + "erfolgreich.");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void kontenListeanzeigen() {
|
||||||
|
System.out.println("Hier sind die Konten: ");
|
||||||
|
|
||||||
|
for (String b:bank.getKontenListe()) {
|
||||||
|
System.out.println(b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static void kontoAnlegenScreen() {
|
private static void kontoAnlegenScreen() {
|
||||||
System.out.print("Bitte Name des künftigen Inhabers angeben: ");
|
System.out.print("Bitte Name des künftigen Inhabers angeben: ");
|
||||||
String inhaber = kb.next();
|
String inhaber = kb.next();
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package bank;
|
package bank;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class Bankkonto {
|
public class Bankkonto implements Serializable {
|
||||||
// sog. Geheimnisprinzip, Attribute bleiben
|
// sog. Geheimnisprinzip, Attribute bleiben
|
||||||
// privat, Zugriff erfolgt nur über Methoden
|
// privat, Zugriff erfolgt nur über Methoden
|
||||||
private String name;
|
private String name;
|
||||||
|
@ -11,12 +12,13 @@ public class Bankkonto {
|
||||||
private double kontostand;
|
private double kontostand;
|
||||||
|
|
||||||
private static int kontozähler = 0;
|
private static int kontozähler = 0;
|
||||||
|
private static int kontostartzaehler = (int) (Math.random()*1000);
|
||||||
|
|
||||||
public Bankkonto(String name) {
|
public Bankkonto(String name) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
|
||||||
this.kontostand = 0;
|
this.kontostand = 0;
|
||||||
this.kontonummer = 100000 + kontozähler++;
|
this.kontonummer = kontostartzaehler + kontozähler++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// sog. Getter-Methoden
|
// sog. Getter-Methoden
|
||||||
|
@ -38,8 +40,12 @@ public class Bankkonto {
|
||||||
// TODO
|
// TODO
|
||||||
// Geld soll nur ausgezahlt werden, wenn das Konto
|
// Geld soll nur ausgezahlt werden, wenn das Konto
|
||||||
// auch gedeckt ist
|
// auch gedeckt ist
|
||||||
public double geldAuszahlen(double betrag) {
|
public boolean geldAuszahlen(double betrag) {
|
||||||
return -1;
|
if (kontostand >= betrag) {
|
||||||
|
kontostand -= betrag;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
|
@ -52,4 +58,12 @@ public class Bankkonto {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Bankkonto{" +
|
||||||
|
"name='" + name + '\'' +
|
||||||
|
", kontonummer=" + kontonummer +
|
||||||
|
", kontostand=" + kontostand +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue