Fix: code refactor & exception handling
parent
91ffe2cfab
commit
9ad8c5760b
|
@ -426,6 +426,9 @@ public class UI {
|
|||
continue;
|
||||
}
|
||||
|
||||
} else {
|
||||
System.out.println("Kontonummer existiert nicht!");
|
||||
break;
|
||||
}
|
||||
|
||||
} catch (NumberFormatException nfe) {
|
||||
|
@ -471,6 +474,9 @@ public class UI {
|
|||
continue;
|
||||
}
|
||||
|
||||
} else {
|
||||
System.out.println("Kontonummer existiert nicht!");
|
||||
break;
|
||||
}
|
||||
|
||||
} catch (NumberFormatException nfe) {
|
||||
|
@ -529,52 +535,181 @@ public class UI {
|
|||
}
|
||||
|
||||
private void überweisungBeauftragen() throws Exception {
|
||||
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());
|
||||
boolean running = true;
|
||||
int startkonto = 0;
|
||||
int zielkonto = 0;
|
||||
double betrag = 0;
|
||||
String verwendungszweck = "";
|
||||
|
||||
System.out.print("Bitte den gewünschten Überweisungsbetrag eingeben: ");
|
||||
double betrag = Double.parseDouble(sc.nextLine());
|
||||
while (running) {
|
||||
|
||||
System.out.print("Bitte den Verwendungszweck eingeben: ");
|
||||
String verwendungszweck = sc.nextLine();
|
||||
System.out.print("Bitte geben Sie die Kontonummer des Ausgangskontos der Überweisung ein: ");
|
||||
|
||||
try {
|
||||
|
||||
startkonto = Integer.parseInt(sc.nextLine());
|
||||
|
||||
if(bs.getKonten().containsKey(startkonto)){
|
||||
|
||||
System.out.print("Bitte geben Sie die Kontonummer des Zielkontos der Überweisung ein: ");
|
||||
|
||||
try {
|
||||
|
||||
zielkonto = Integer.parseInt(sc.nextLine());
|
||||
|
||||
if(bs.getKonten().containsKey(zielkonto)){
|
||||
|
||||
System.out.print("Bitte geben Sie den gewünschten Überweisungsbetrag ein: ");
|
||||
|
||||
try {
|
||||
|
||||
betrag = Double.parseDouble(sc.nextLine());
|
||||
|
||||
} catch (Exception e) {
|
||||
System.err.println("Betrag muss eine Zahl sein!");
|
||||
e.printStackTrace();
|
||||
break;
|
||||
}
|
||||
|
||||
System.out.print("Bitte geben Sie den Verwendungszweck ein: ");
|
||||
verwendungszweck = sc.nextLine();
|
||||
|
||||
} else {
|
||||
System.out.println("Zielkonto existiert nicht!");
|
||||
break;
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
System.err.println("Kontonummer muss eine Zahl sein!");
|
||||
e.printStackTrace();
|
||||
break;
|
||||
}
|
||||
|
||||
} else {
|
||||
System.out.println("Startkonto existiert nicht!");
|
||||
break;
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
System.err.println("Kontonummer muss eine Zahl sein!");
|
||||
e.printStackTrace();
|
||||
break;
|
||||
}
|
||||
|
||||
running = false;
|
||||
|
||||
}
|
||||
|
||||
boolean erfolgreich = bs.überweisungBeauftragen(startkonto, zielkonto, (long) (betrag * 100), verwendungszweck);
|
||||
|
||||
System.out.println("Überweisung" + ((!erfolgreich) ? " nicht" : "") + " erfolgreich ausgeführt.");
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void saldoAbfragen() {
|
||||
System.out.print("Bitte die Kontonummer des gewünschten Kontos eingeben: ");
|
||||
int konto = Integer.parseInt(sc.nextLine());
|
||||
|
||||
System.out.print("Bitte die Anzahl der Kontobewegungen für den Saldo eingeben: ");
|
||||
int anzahl = Integer.parseInt(sc.nextLine());
|
||||
boolean running = true;
|
||||
int kontonummer = 0;
|
||||
int anzahl = 0;
|
||||
|
||||
long saldo = bs.saldoBestimmen(konto, anzahl);
|
||||
while(running) {
|
||||
|
||||
System.out.print("Geben Sie bitte die Kontonummer des gewünschten Kontos ein: ");
|
||||
|
||||
try {
|
||||
|
||||
kontonummer = Integer.parseInt(sc.nextLine());
|
||||
|
||||
if(bs.getKonten().containsKey(kontonummer)){
|
||||
|
||||
System.out.print("Bitte geben Sie die Anzahl der Kontobewegungen für den Saldo ein: ");
|
||||
|
||||
try {
|
||||
|
||||
anzahl = Integer.parseInt(sc.nextLine());
|
||||
|
||||
} catch (Exception e) {
|
||||
System.err.println("die Anzahl muss eine Zahl sein!");
|
||||
e.printStackTrace();
|
||||
break;
|
||||
}
|
||||
|
||||
} else {
|
||||
System.out.println("Kontonummer existiert nicht");
|
||||
break;
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
System.err.println("Kontonummer muss eine Zahl sein!");
|
||||
e.printStackTrace();
|
||||
break;
|
||||
}
|
||||
|
||||
running = false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
long saldo = bs.saldoBestimmen(kontonummer, anzahl);
|
||||
System.out.printf("Der Saldo nach %d Kontobewegungen beträgt %.2f Euro.%n", anzahl, (saldo / 100d));
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void aktienKaufen() {
|
||||
|
||||
System.out.println("Aktien kaufen");
|
||||
System.out.println("Bitte geben Sie die Kontonummer ein: ");
|
||||
int kontonummer = Integer.parseInt(sc.nextLine());
|
||||
boolean running = true;
|
||||
int kontonummer = 0;
|
||||
int anzahl = 0;
|
||||
String aktienName = "";
|
||||
|
||||
System.out.println("Folgende Aktien sind Verfügbar");
|
||||
System.out.println("1 -> Deutsche Bank AG (DBK.DE)\n2 -> Deere & Company (DCO.DE)");
|
||||
System.out.println("Bitte geben Sie den Namen in Klammern ein um den Preis zu sehen:");
|
||||
String aktienName = sc.nextLine();
|
||||
while (running) {
|
||||
|
||||
System.out.println("Preis der Aktie");
|
||||
System.out.println(bs.getAktienPreis(aktienName));
|
||||
System.out.println("Aktien kaufen");
|
||||
System.out.print("Bitte geben Sie die Kontonummer ein: ");
|
||||
|
||||
System.out.println("Bitte geben Sie die Anzahl der Aktien ein, die Sie kaufen möchten: ");
|
||||
int anzahl = Integer.parseInt(sc.nextLine());
|
||||
try {
|
||||
|
||||
kontonummer = Integer.parseInt(sc.nextLine());
|
||||
|
||||
if(bs.getKonten().containsKey(kontonummer)){
|
||||
|
||||
System.out.println("Folgende Aktien sind Verfügbar");
|
||||
System.out.println("1 -> Deutsche Bank AG (DBK.DE)\n2 -> Deere & Company (DCO.DE)");
|
||||
System.out.print("Bitte geben Sie den Namen in Klammern ein um den Preis zu sehen:");
|
||||
|
||||
aktienName = sc.nextLine();
|
||||
|
||||
System.out.println("Preis der Aktie");
|
||||
System.out.println(bs.getAktienPreis(aktienName));
|
||||
|
||||
System.out.print("Bitte geben Sie die Anzahld er Aktien ein, die sie kaufen möchten: ");
|
||||
|
||||
try {
|
||||
|
||||
anzahl = Integer.parseInt(sc.nextLine());
|
||||
|
||||
} catch (Exception e) {
|
||||
System.err.println("Die Anzahl muss eine Zahl sein!");
|
||||
e.printStackTrace();
|
||||
break;
|
||||
}
|
||||
|
||||
} else {
|
||||
System.out.println("Kontonummer existiert nicht!");
|
||||
break;
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
System.err.println("Kontonummer muss eine Zahl sein!");
|
||||
e.printStackTrace();
|
||||
break;
|
||||
}
|
||||
|
||||
running = false;
|
||||
|
||||
}
|
||||
|
||||
boolean erg = bs.aktienKauf(kontonummer, anzahl, aktienName);
|
||||
System.out.printf("Aktienkauf" + ((!erg)? " nicht" : "" ) + " erfolgreich. ");
|
||||
|
|
Loading…
Reference in New Issue