forked from hummel/Bank-System
Exceptions
parent
9d2cdf76da
commit
1f4ce06b09
|
@ -92,4 +92,9 @@ public class Banksystem {
|
||||||
return konto.berechneSaldo(anzahl);
|
return konto.berechneSaldo(anzahl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void systemwiederherstellung() throws ClassNotFoundException, Exception{
|
||||||
|
this.bank = (Bank) Persistenz.ladeBankDaten(bank.getName());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,8 @@ import java.io.FileOutputStream;
|
||||||
import java.io.ObjectInputStream;
|
import java.io.ObjectInputStream;
|
||||||
import java.io.ObjectOutputStream;
|
import java.io.ObjectOutputStream;
|
||||||
|
|
||||||
|
import jdk.internal.misc.FileSystemOption;
|
||||||
|
|
||||||
public class Persistenz {
|
public class Persistenz {
|
||||||
private static final String BANK_DATEI = "-bank-data.ser";
|
private static final String BANK_DATEI = "-bank-data.ser";
|
||||||
|
|
||||||
|
@ -14,12 +16,16 @@ public class Persistenz {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void speichereBankDaten(Object bank, String name) throws Exception {
|
public static void speichereBankDaten(Object bank, String name) throws Exception {
|
||||||
|
|
||||||
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(name + BANK_DATEI));
|
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(name + BANK_DATEI));
|
||||||
oos.writeObject(bank);
|
oos.writeObject(bank);
|
||||||
oos.close();
|
oos.close();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Object ladeBankDaten(String name) throws Exception {
|
public static Object ladeBankDaten(String name) throws Exception, ClassNotFoundException {
|
||||||
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(name + BANK_DATEI));
|
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(name + BANK_DATEI));
|
||||||
Object bank = ois.readObject();
|
Object bank = ois.readObject();
|
||||||
ois.close();
|
ois.close();
|
||||||
|
|
|
@ -83,7 +83,7 @@ public class UI {
|
||||||
System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt.");
|
System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt.");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void geldEinzahlen() throws Exception {
|
private void geldEinzahlen() {
|
||||||
System.out.println("Geld einzahlen");
|
System.out.println("Geld einzahlen");
|
||||||
System.out.print("Bitte die gewünschte Kontonummer eingeben: ");
|
System.out.print("Bitte die gewünschte Kontonummer eingeben: ");
|
||||||
int kontonummer = Integer.parseInt(sc.nextLine());
|
int kontonummer = Integer.parseInt(sc.nextLine());
|
||||||
|
@ -92,12 +92,23 @@ public class UI {
|
||||||
|
|
||||||
System.out.print("Bitte den gewünschten Betrag eingeben: ");
|
System.out.print("Bitte den gewünschten Betrag eingeben: ");
|
||||||
double betrag = Double.parseDouble(sc.nextLine());
|
double betrag = Double.parseDouble(sc.nextLine());
|
||||||
|
try {
|
||||||
long neuerKontostand = bs.geldEinzahlen(kontonummer, (long)betrag * 100);
|
long neuerKontostand = bs.geldEinzahlen(kontonummer, (long)betrag * 100);
|
||||||
|
|
||||||
System.out.printf("Einzahlung erfolgreich, neuer Kontostand = %.2f Euro", (neuerKontostand / 100.0));
|
System.out.printf("Einzahlung erfolgreich, neuer Kontostand = %.2f Euro", (neuerKontostand / 100.0));
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
System.err.println("Einzahlung nicht erfolgreich, wurde nicht gespeichert");
|
||||||
|
try {
|
||||||
|
bs.systemwiederherstellung();
|
||||||
|
}
|
||||||
|
catch (Exception cnfe) {
|
||||||
|
System.err.println("Fehler aufgetreten(ClassNotFoundException)");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void geldAuszahlen() throws Exception {
|
private void geldAuszahlen() throws Exception {
|
||||||
System.out.println("Geld auszahlen");
|
System.out.println("Geld auszahlen");
|
||||||
System.out.print("Bitte die gewünschte Kontonummer eingeben: ");
|
System.out.print("Bitte die gewünschte Kontonummer eingeben: ");
|
||||||
|
|
Loading…
Reference in New Issue