letzte Installments für auszahlen

main
informatikperson 2022-10-17 15:05:31 +02:00
parent 03b56a6575
commit 64e8447ae4
3 changed files with 96 additions and 26 deletions

View File

@ -18,11 +18,14 @@ public class Konto {
@Override @Override
public String toString() { public String toString() {
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]"; return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + ", stand=" + stand + "]";
} }
public long addKontostand(String inhaber, long zahl) { public long addKontostand(String inhaber, long zahl) {
stand = stand+zahl; stand = getKontostand() +zahl;
return stand;
}
public long getKontostand() {
return stand; return stand;
} }

View File

@ -46,4 +46,17 @@ public class Banksystem {
} }
public boolean checkForBalance(String inhaber) {
Collection<Konto> konten = bank.getKontenliste();
for (Konto k : konten) {
String konto = k.toString();
if (konto.contains(inhaber)) {
if(k.getKontostand()<=0) {
return false;
}
}
}
return true;
}
} }

View File

@ -20,10 +20,10 @@ public class UI {
while (true) { while (true) {
System.out.println(); System.out.println();
System.out.println("--------"); System.out.println("--------");
System.out.println("Hauptmenü"); System.out.println("Hauptmenü");
System.out.println("1 -> Konten anzeigen"); System.out.println("1 -> Konten anzeigen");
System.out.println("2 -> Konto anlegen"); System.out.println("2 -> Konto anlegen");
System.out.println("3 -> Auf bestehendes Konto einzahlen"); System.out.println("3 -> Auf bestehendes Konto einzahlen oder auszahlen");
System.out.println("9 -> Beenden"); System.out.println("9 -> Beenden");
System.out.println(); System.out.println();
@ -34,60 +34,114 @@ public class UI {
switch(input) { switch(input) {
case 1: kontenAnzeigen(); break; case 1: kontenAnzeigen(); break;
case 2: kontoAnlegen(); break; case 2: kontoAnlegen(); break;
case 3: kontoAufladenAuswahl(); break; case 3: kontoAktionen(); break;
case 9: break mainloop; case 9: break mainloop;
} }
} }
System.out.println("Auf Wiedersehen!"); System.out.println("Auf Wiedersehen!");
} // hauptmenü } // hauptmenü
private void kontoAufladenAuswahl() { private void kontoAktionen() {
System.out.println("Konto über Namen auffüllen? -> 1"); System.out.println("Konto über Namen auffüllen? -> 1");
System.out.println("Konto über Kontonummer aufladen? -> 2"); System.out.println("Konto über Kontonummer aufladen? -> 2");
System.out.println("Konto über Namen auszahlen -> 3");
System.out.println("Konto über Nummer auszahlen -> 4");
System.out.println();
System.out.print(">");
int input = Integer.parseInt(sc.nextLine()); int input = Integer.parseInt(sc.nextLine());
switch(input) { switch(input) {
case 1: kÜberNamen(); break; case 1: kÜberNamenEinzahlen(); break;
case 2: kÜberNummer();break; case 2: kÜberNummerEinzahlen();break;
case 3: kÜberNamenAuszahlen(); break;
case 4: KÜberNummerAuszahlen();break;
} }
System.out.println("Pups");
} }
private void kÜberNamen() { private void KÜberNummerAuszahlen() {
System.out.println("Welches Konto soll aufgeladen werden? Name"); System.out.println("Welches Konto soll auszahlen? Nummer");
CharSequence input = sc.nextLine();
String[] konten = bs.getKontenliste();
long input2 = 0;
for(String k: konten) {
if (k.contains(input)) {
System.out.print("Aktueller Stand: ");
if(bs.checkForBalance(k) == false) {
System.out.println("Sie müssen erst einzahlen um auszahlen zu können");
kontoAktionen();
break;
}
System.out.println("Wieviel möchten sie auszahlen?");
input2 = Long.parseLong(sc.nextLine());
input2 = input2*-1;
bs.kontoAufladen(k, input2);
System.out.println(k.toString());
}
}
}
private void kÜberNamenAuszahlen() {
System.out.println("Welches Konto soll auszahlen? Namen");
String input = sc.nextLine(); String input = sc.nextLine();
String[] konten = bs.getKontenliste(); String[] konten = bs.getKontenliste();
for (String k : konten) { long input2 = 0;
for(String k: konten) {
if (k.contains(input)) { if (k.contains(input)) {
System.out.println("auf dieses Konto wird geladen"); System.out.print("Aktueller Stand: ");
System.out.println(k.toString()); if(bs.checkForBalance(k) == false) {
System.out.println("Wieviel möchten sie aufladen?"); System.out.println("Sie müssen erst einzahlen um auszahlen zu können");
long input2 = Long.parseLong(sc.nextLine()); kontoAktionen();
if(input2<0) { break;
System.out.println("Betrag muss plus sein");
kÜberNamen();
} }
bs.kontoAufladen(k,input2); System.out.println("Wieviel möchten sie auszahlen?");
input2 = Long.parseLong(sc.nextLine());
input2 = input2*-1;
bs.kontoAufladen(k, input2);
System.out.println(k.toString());
} }
} }
} }
private void kÜberNummer() { private void kÜberNamenEinzahlen() {
System.out.println("Welches Konto soll aufgeladen werden? Name");
String input = sc.nextLine();
String[] konten = bs.getKontenliste();
for (String k : konten) {
if (k.contains(input)) {
System.out.print("auf dieses Konto wird geladen: ");
System.out.println(k.toString());
System.out.println("Wieviel möchten sie aufladen?");
System.out.print(">");
long input2 = Long.parseLong(sc.nextLine());
if(input2<0) {
System.out.println("Betrag muss plus sein");
kÜberNamenEinzahlen();
}
bs.kontoAufladen(k,input2);
}
System.out.println(k.toString());
}
}
private void kÜberNummerEinzahlen() {
System.out.println("Welches Konto soll aufgeladen werden? Nummer"); System.out.println("Welches Konto soll aufgeladen werden? Nummer");
CharSequence input = sc.nextLine(); CharSequence input = sc.nextLine();
String[] konten = bs.getKontenliste(); String[] konten = bs.getKontenliste();
for(String k: konten) { for(String k: konten) {
if(k.contains(input)) { if(k.contains(input)) {
System.out.println("auf dieses Konto wird geladen"); System.out.print("auf dieses Konto wird geladen: ");
System.out.println(k.toString()); System.out.println(k.toString());
System.out.println("Wieviel möchten sie aufladen"); System.out.println("Wieviel möchten sie aufladen?");
System.out.print(">");
long input2 = Long.parseLong(sc.nextLine()); long input2 = Long.parseLong(sc.nextLine());
if(input2<0) { if(input2<0) {
System.out.println("Betrag muss plus sein"); System.out.println("Betrag muss plus sein");
kÜberNummer(); kÜberNummerEinzahlen();
} }
bs.kontoAufladen(k, input2); bs.kontoAufladen(k, input2);
} }