save and load works
parent
68f56c1308
commit
6e00075e9f
Binary file not shown.
|
@ -5,7 +5,7 @@ import de.hs_mannheim.informatik.bank.ui.UI;
|
||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) throws Exception {
|
||||||
Banksystem bs = new Banksystem("Spaßkasse Mannheim");
|
Banksystem bs = new Banksystem("Spaßkasse Mannheim");
|
||||||
UI ui = new UI(bs);
|
UI ui = new UI(bs);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,38 +1,53 @@
|
||||||
package de.hs_mannheim.informatik.bank.domain;
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.ObjectInputStream;
|
||||||
|
import java.io.ObjectOutputStream;
|
||||||
|
import java.io.Serializable;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
public class Bank {
|
import de.hs_mannheim.informatik.bank.facade.Banksystem;
|
||||||
|
|
||||||
|
public class Bank implements Serializable {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
private Konto k;
|
private Konto k;
|
||||||
|
// private Banksystem bsy;
|
||||||
private String name;
|
private String name;
|
||||||
private HashMap<Integer, Konto> konten = new HashMap<>();
|
private HashMap<Integer, Konto> konten = new HashMap<>();
|
||||||
|
|
||||||
|
|
||||||
public Bank(String name) {
|
public Bank(String name) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addKonto(Konto k) {
|
public void addKonto(Konto k) {
|
||||||
konten.put(k.getKontonummer(), k);
|
konten.put(k.getKontonummer(), k);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Collection<Konto> getKontenliste() {
|
public Collection<Konto> getKontenliste() {
|
||||||
return konten.values();
|
return konten.values();
|
||||||
}
|
}
|
||||||
|
|
||||||
public long geldWirdInDerBankAngelegt(int kontoNummer, long geldBetrag) {
|
public long geldWirdInDerBankAngelegt(int kontoNummer, long geldBetrag) {
|
||||||
k = getKonto(kontoNummer);
|
k = getKonto(kontoNummer);
|
||||||
k.setStand(k.getStand()+geldBetrag);
|
k.setStand(k.getStand() + geldBetrag);
|
||||||
k.setKontoAktivietetenString(k.getKontoAktivietetenString()+ getDatum() + " " + geldBetrag+",");
|
k.setKontoAktivietetenString(k.getKontoAktivietetenString() + getDatum() + " " + geldBetrag + ",");
|
||||||
return k.getStand();
|
return k.getStand();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,21 +58,21 @@ public class Bank {
|
||||||
|
|
||||||
public String geldAbhebenBank(int kontoNummer, long geldAbgehoben) {
|
public String geldAbhebenBank(int kontoNummer, long geldAbgehoben) {
|
||||||
k = getKonto(kontoNummer);
|
k = getKonto(kontoNummer);
|
||||||
|
|
||||||
if(k.getStand() < geldAbgehoben) {
|
if (k.getStand() < geldAbgehoben) {
|
||||||
return "Sie haben zu wenig Geld auf ihrem Konto";
|
return "Sie haben zu wenig Geld auf ihrem Konto";
|
||||||
}
|
}
|
||||||
|
|
||||||
k.setStand(k.getStand()-geldAbgehoben);
|
k.setStand(k.getStand() - geldAbgehoben);
|
||||||
k.setKontoAktivietetenString(k.getKontoAktivietetenString()+ getDatum() +" -"+geldAbgehoben+",");
|
k.setKontoAktivietetenString(k.getKontoAktivietetenString() + getDatum() + " -" + geldAbgehoben + ",");
|
||||||
return "Sie haben" + geldAbgehoben + "Euro abgehoben";
|
return "Sie haben" + geldAbgehoben + "Euro abgehoben";
|
||||||
}
|
}
|
||||||
|
|
||||||
private Konto getKonto(int Kontonummer) {
|
private Konto getKonto(int Kontonummer) {
|
||||||
k = konten.get(Kontonummer);
|
k = konten.get(Kontonummer);
|
||||||
return k;
|
return k;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDatum() {
|
private String getDatum() {
|
||||||
String pattern = "MM/dd/yyyy HH:mm:ss";
|
String pattern = "MM/dd/yyyy HH:mm:ss";
|
||||||
DateFormat df = new SimpleDateFormat(pattern);
|
DateFormat df = new SimpleDateFormat(pattern);
|
||||||
|
@ -71,4 +86,5 @@ public class Bank {
|
||||||
String[] auzügeStrings = k.getKontoAktivietetenString().split(",");
|
String[] auzügeStrings = k.getKontoAktivietetenString().split(",");
|
||||||
return auzügeStrings;
|
return auzügeStrings;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
package de.hs_mannheim.informatik.bank.domain;
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
import javax.lang.model.element.NestingKind;
|
import java.io.Serializable;
|
||||||
|
|
||||||
public class Konto {
|
public class Konto implements Serializable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
private static int kontozähler = 0;
|
private static int kontozähler = 0;
|
||||||
|
|
||||||
|
@ -43,4 +48,6 @@ public class Konto {
|
||||||
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + ", Kontostand=" + stand + "]";
|
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + ", Kontostand=" + stand + "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,10 +26,12 @@ public class BankSystemTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* public void testGeldEinzahlenAPI(){
|
@Test
|
||||||
bs.addKonto(k1);
|
public void testAbhebenZuWenigGeld() {
|
||||||
float geldSehen = bSys.geldEinzahlen(1000, 100);
|
Bank bs = new Bank("Volksbank");
|
||||||
float testLookMoney = 100;
|
Konto k = new Konto("Müller");
|
||||||
assertEquals(geldSehen, testLookMoney);
|
bs.addKonto(k);
|
||||||
}*/
|
String test = "Sie haben zu wenig Geld auf ihrem Konto";
|
||||||
|
assertEquals(bs.geldAbhebenBank(1000, 300), test);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,22 @@
|
||||||
package de.hs_mannheim.informatik.bank.facade;
|
package de.hs_mannheim.informatik.bank.facade;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.ObjectInputStream;
|
||||||
|
import java.io.ObjectOutputStream;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import de.hs_mannheim.informatik.bank.domain.Bank;
|
import de.hs_mannheim.informatik.bank.domain.Bank;
|
||||||
import de.hs_mannheim.informatik.bank.domain.Konto;
|
import de.hs_mannheim.informatik.bank.domain.Konto;
|
||||||
|
import persistence.Persistenc;
|
||||||
|
|
||||||
public class Banksystem {
|
public class Banksystem {
|
||||||
private Bank bank;
|
private Bank bank;
|
||||||
|
private Persistenc per = new Persistenc();
|
||||||
public Banksystem(String bankname) {
|
public Banksystem(String bankname) {
|
||||||
this.bank = new Bank(bankname);
|
this.bank = new Bank(bankname);
|
||||||
}
|
}
|
||||||
|
@ -54,4 +63,15 @@ public class Banksystem {
|
||||||
String[] auszügeStrings = bank.getAuszüge(kontoNummer);
|
String[] auszügeStrings = bank.getAuszüge(kontoNummer);
|
||||||
return auszügeStrings;
|
return auszügeStrings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void saveKonten() throws Exception {
|
||||||
|
per.saveKontos(bank);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void loadKonten() throws Exception {
|
||||||
|
bank = per.load();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,12 +9,12 @@ public class UI {
|
||||||
private Banksystem bs;
|
private Banksystem bs;
|
||||||
Scanner sc = new Scanner(System.in);
|
Scanner sc = new Scanner(System.in);
|
||||||
|
|
||||||
public UI(Banksystem bs) {
|
public UI(Banksystem bs) throws Exception {
|
||||||
this.bs = bs;
|
this.bs = bs;
|
||||||
hauptmenue();
|
hauptmenue();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void hauptmenue() {
|
private void hauptmenue() throws Exception{
|
||||||
System.out.println("Willkommen bei der " + bs.getBankname() + "!");
|
System.out.println("Willkommen bei der " + bs.getBankname() + "!");
|
||||||
|
|
||||||
mainloop:
|
mainloop:
|
||||||
|
@ -28,6 +28,7 @@ public class UI {
|
||||||
System.out.println("4 -> Konto abfragen");
|
System.out.println("4 -> Konto abfragen");
|
||||||
System.out.println("5 -> Geld abheben");
|
System.out.println("5 -> Geld abheben");
|
||||||
System.out.println("6 -> Kontoauszüge ausgeben");
|
System.out.println("6 -> Kontoauszüge ausgeben");
|
||||||
|
System.out.println("7 -> Konten laden");
|
||||||
System.out.println("9 -> Beenden");
|
System.out.println("9 -> Beenden");
|
||||||
System.out.println();
|
System.out.println();
|
||||||
|
|
||||||
|
@ -42,13 +43,24 @@ public class UI {
|
||||||
case 4: kontoAbfragen(); break;
|
case 4: kontoAbfragen(); break;
|
||||||
case 5: geldAbheben(); break;
|
case 5: geldAbheben(); break;
|
||||||
case 6: kontoauszügeAnsugeben(); break;
|
case 6: kontoauszügeAnsugeben(); break;
|
||||||
|
case 7: kontenLaden(); break;
|
||||||
case 9: break mainloop;
|
case 9: break mainloop;
|
||||||
}
|
}
|
||||||
}
|
try {
|
||||||
|
bs.saveKonten();
|
||||||
|
} catch (Exception e) {
|
||||||
|
// TODO: handle exception
|
||||||
|
}
|
||||||
|
//
|
||||||
System.out.println("Auf Wiedersehen!");
|
System.out.println("Auf Wiedersehen!");
|
||||||
|
|
||||||
} // hauptmenü
|
} // hauptmenü
|
||||||
|
}
|
||||||
|
|
||||||
|
private void kontenLaden() throws Exception {
|
||||||
|
bs.loadKonten();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private void kontoauszügeAnsugeben() {
|
private void kontoauszügeAnsugeben() {
|
||||||
System.out.println("Geben Sie ihre Kontonummer ein");
|
System.out.println("Geben Sie ihre Kontonummer ein");
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
package persistence;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.ObjectInputStream;
|
||||||
|
import java.io.ObjectOutputStream;
|
||||||
|
|
||||||
|
import de.hs_mannheim.informatik.bank.domain.Bank;
|
||||||
|
|
||||||
|
public class Persistenc {
|
||||||
|
|
||||||
|
|
||||||
|
public void saveKontos(Bank bank) throws Exception {
|
||||||
|
// File fileKonton = new File("Konten.txt");
|
||||||
|
FileOutputStream fOS;
|
||||||
|
fOS = new FileOutputStream("Konten.ser");
|
||||||
|
ObjectOutputStream oos = new ObjectOutputStream(fOS);
|
||||||
|
oos.writeObject(bank);
|
||||||
|
oos.flush();
|
||||||
|
oos.close();
|
||||||
|
fOS.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Bank load() throws Exception {
|
||||||
|
// File toRead = new File("Konten.ser");
|
||||||
|
FileInputStream fis = new FileInputStream("Konten.ser");
|
||||||
|
ObjectInputStream ois = new ObjectInputStream(fis);
|
||||||
|
Bank bank = (Bank) ois.readObject();
|
||||||
|
ois.close();
|
||||||
|
fis.close();
|
||||||
|
return bank;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue