newest stand missing only girokonto
parent
6e00075e9f
commit
8cb1191b25
BIN
Konten.ser
BIN
Konten.ser
Binary file not shown.
|
@ -18,13 +18,14 @@ import java.util.Map.Entry;
|
||||||
|
|
||||||
import de.hs_mannheim.informatik.bank.facade.Banksystem;
|
import de.hs_mannheim.informatik.bank.facade.Banksystem;
|
||||||
|
|
||||||
|
|
||||||
public class Bank implements Serializable {
|
public class Bank implements Serializable {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private Konto k;
|
private Konto k;
|
||||||
// private Banksystem bsy;
|
private String amEndeDerAuzügeEifügen = ",";
|
||||||
private String name;
|
private String name;
|
||||||
private HashMap<Integer, Konto> konten = new HashMap<>();
|
private HashMap<Integer, Konto> konten = new HashMap<>();
|
||||||
|
|
||||||
|
@ -44,47 +45,16 @@ public class Bank implements Serializable {
|
||||||
return konten.values();
|
return konten.values();
|
||||||
}
|
}
|
||||||
|
|
||||||
public long geldWirdInDerBankAngelegt(int kontoNummer, long geldBetrag) {
|
|
||||||
k = getKonto(kontoNummer);
|
|
||||||
k.setStand(k.getStand() + geldBetrag);
|
|
||||||
k.setKontoAktivietetenString(k.getKontoAktivietetenString() + getDatum() + " " + geldBetrag + ",");
|
|
||||||
return k.getStand();
|
|
||||||
}
|
|
||||||
|
|
||||||
public long kontoStandFinden(int kontNumToGetKontoStand) {
|
public long kontoStandFinden(int kontNumToGetKontoStand) {
|
||||||
k = getKonto(kontNumToGetKontoStand);
|
k = getKonto(kontNumToGetKontoStand);
|
||||||
return k.getStand();
|
return k.getStand();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String geldAbhebenBank(int kontoNummer, long geldAbgehoben) {
|
|
||||||
k = getKonto(kontoNummer);
|
|
||||||
|
|
||||||
if (k.getStand() < geldAbgehoben) {
|
public Konto getKonto(int Kontonummer) {
|
||||||
return "Sie haben zu wenig Geld auf ihrem Konto";
|
|
||||||
}
|
|
||||||
|
|
||||||
k.setStand(k.getStand() - geldAbgehoben);
|
|
||||||
k.setKontoAktivietetenString(k.getKontoAktivietetenString() + getDatum() + " -" + geldAbgehoben + ",");
|
|
||||||
return "Sie haben" + geldAbgehoben + "Euro abgehoben";
|
|
||||||
}
|
|
||||||
|
|
||||||
private Konto getKonto(int Kontonummer) {
|
|
||||||
k = konten.get(Kontonummer);
|
k = konten.get(Kontonummer);
|
||||||
return k;
|
return k;
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDatum() {
|
|
||||||
String pattern = "MM/dd/yyyy HH:mm:ss";
|
|
||||||
DateFormat df = new SimpleDateFormat(pattern);
|
|
||||||
Date nowDate = Calendar.getInstance().getTime();
|
|
||||||
String nowString = df.format(nowDate);
|
|
||||||
return nowString;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String[] getAuszüge(int kontoNummer) {
|
|
||||||
k = getKonto(kontoNummer);
|
|
||||||
String[] auzügeStrings = k.getKontoAktivietetenString().split(",");
|
|
||||||
return auzügeStrings;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
|
public class Girokonto extends Konto{
|
||||||
|
|
||||||
|
public Girokonto(String inhaber) {
|
||||||
|
super(inhaber);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,6 +1,12 @@
|
||||||
package de.hs_mannheim.informatik.bank.domain;
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.text.DateFormat;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
|
||||||
public class Konto implements Serializable {
|
public class Konto implements Serializable {
|
||||||
|
|
||||||
|
@ -11,24 +17,16 @@ public class Konto implements Serializable {
|
||||||
|
|
||||||
private static int kontozähler = 0;
|
private static int kontozähler = 0;
|
||||||
|
|
||||||
|
|
||||||
private int nummer;
|
private int nummer;
|
||||||
private long stand = 0;
|
private long stand = 0;
|
||||||
private String inhaber;
|
private String inhaber;
|
||||||
private String kontoAktivietetenString;
|
private ArrayList<Kontobewegungen> kontobewegungen;
|
||||||
|
|
||||||
public Konto(String inhaber) {
|
public Konto(String inhaber) {
|
||||||
nummer = 1000 + kontozähler++;
|
nummer = 1000 + kontozähler++;
|
||||||
this.inhaber = inhaber;
|
this.inhaber = inhaber;
|
||||||
getStand();
|
getStand();
|
||||||
kontoAktivietetenString = "";
|
this.kontobewegungen = new ArrayList<>();
|
||||||
}
|
|
||||||
|
|
||||||
public String getKontoAktivietetenString() {
|
|
||||||
return kontoAktivietetenString;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setKontoAktivietetenString(String kontoAktivietetenString) {
|
|
||||||
this.kontoAktivietetenString = kontoAktivietetenString;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getKontonummer() {
|
public int getKontonummer() {
|
||||||
|
@ -42,12 +40,33 @@ public class Konto implements Serializable {
|
||||||
public void setStand(long stand){
|
public void setStand(long stand){
|
||||||
this.stand = stand;
|
this.stand = stand;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void geldEinzahlen(long einzahlen) {
|
||||||
|
this.stand += einzahlen;
|
||||||
|
|
||||||
|
kontobewegungen.add(new Kontobewegungen(einzahlen, "Einzahlung am Schalter", "Einzahlung", inhaber));
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean geldAbheben(long auszahlen) {
|
||||||
|
if(this.stand < auszahlen) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
kontobewegungen.add(new Kontobewegungen(auszahlen, "Einzahlung am Schalter", "Auszahlen", inhaber));
|
||||||
|
this.stand = this.stand -auszahlen;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String[] getKontoBewegungen() {
|
||||||
|
String[] auflisten = new String[kontobewegungen.size()];
|
||||||
|
int i = 0;
|
||||||
|
for(Kontobewegungen kb : kontobewegungen) {
|
||||||
|
auflisten[i++] = kb.toString();
|
||||||
|
}
|
||||||
|
return auflisten;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + ", Kontostand=" + stand + "]";
|
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + ", Kontostand=" + stand + "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
package de.hs_mannheim.informatik.bank.domain;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import javax.management.loading.PrivateClassLoader;
|
||||||
|
|
||||||
|
public class Kontobewegungen {
|
||||||
|
|
||||||
|
private long betrag;
|
||||||
|
private Date datum;
|
||||||
|
private String betreff;
|
||||||
|
private String art;
|
||||||
|
private String auftragGeber;
|
||||||
|
|
||||||
|
public Kontobewegungen(long betrag, String betreff, String art, String auftragGeber) {
|
||||||
|
super();
|
||||||
|
this.betrag = betrag;
|
||||||
|
this.betreff = betreff;
|
||||||
|
this.art = art;
|
||||||
|
this.auftragGeber = auftragGeber;
|
||||||
|
|
||||||
|
this.datum = new Date();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Kontobewegungen [betrag=" + betrag + ", datum=" + datum + ", betreff=" + betreff + ", art=" + art
|
||||||
|
+ ", auftragGeber=" + auftragGeber + "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -1,37 +0,0 @@
|
||||||
package de.hs_mannheim.informatik.bank.facade;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
||||||
|
|
||||||
import org.junit.Test;
|
|
||||||
|
|
||||||
import de.hs_mannheim.informatik.bank.domain.Bank;
|
|
||||||
import de.hs_mannheim.informatik.bank.domain.Konto;
|
|
||||||
|
|
||||||
public class BankSystemTest {
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testGeldEinzahlen(){
|
|
||||||
Bank bs = new Bank("Sparkasse");
|
|
||||||
Konto k = new Konto("Bob");
|
|
||||||
Konto k1 = new Konto("John");
|
|
||||||
bs.addKonto(k);
|
|
||||||
bs.addKonto(k1);
|
|
||||||
long einzahlenTest = bs.geldWirdInDerBankAngelegt(1000, 200);
|
|
||||||
long k1EinzahlenTest = bs.geldWirdInDerBankAngelegt(1001, 100);
|
|
||||||
long testSumme = 200;
|
|
||||||
long testSummeZwei = 100;
|
|
||||||
assertEquals(einzahlenTest, testSumme);
|
|
||||||
assertEquals(k1EinzahlenTest, testSummeZwei);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testAbhebenZuWenigGeld() {
|
|
||||||
Bank bs = new Bank("Volksbank");
|
|
||||||
Konto k = new Konto("Müller");
|
|
||||||
bs.addKonto(k);
|
|
||||||
String test = "Sie haben zu wenig Geld auf ihrem Konto";
|
|
||||||
assertEquals(bs.geldAbhebenBank(1000, 300), test);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -16,6 +16,7 @@ import persistence.Persistenc;
|
||||||
|
|
||||||
public class Banksystem {
|
public class Banksystem {
|
||||||
private Bank bank;
|
private Bank bank;
|
||||||
|
private Konto konto;
|
||||||
private Persistenc per = new Persistenc();
|
private Persistenc per = new Persistenc();
|
||||||
public Banksystem(String bankname) {
|
public Banksystem(String bankname) {
|
||||||
this.bank = new Bank(bankname);
|
this.bank = new Bank(bankname);
|
||||||
|
@ -45,8 +46,9 @@ public class Banksystem {
|
||||||
}
|
}
|
||||||
|
|
||||||
public long geldEinzahlen(int kontoNummer, long geldBetrag) {
|
public long geldEinzahlen(int kontoNummer, long geldBetrag) {
|
||||||
long geldEinbezahlt = bank.geldWirdInDerBankAngelegt(kontoNummer,geldBetrag);
|
Konto konto = bank.getKonto(kontoNummer);
|
||||||
return geldEinbezahlt;
|
konto.geldEinzahlen(geldBetrag);
|
||||||
|
return konto.getStand();
|
||||||
}
|
}
|
||||||
|
|
||||||
public long sucheNachKontoStand(int kontNumToGetKontoStand) {
|
public long sucheNachKontoStand(int kontNumToGetKontoStand) {
|
||||||
|
@ -54,15 +56,12 @@ public class Banksystem {
|
||||||
return aktuellerKontostand;
|
return aktuellerKontostand;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String geldAbheben(int kontoNummer, long geldAbheben) {
|
public boolean geldAbheben(int kontoNummer, long geldAbheben) {
|
||||||
String geldAbgehoben = bank.geldAbhebenBank(kontoNummer, geldAbheben);
|
Konto konto = bank.getKonto(kontoNummer);
|
||||||
return geldAbgehoben;
|
return konto.geldAbheben(geldAbheben);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String[] getKontoAuszüge(int kontoNummer) {
|
|
||||||
String[] auszügeStrings = bank.getAuszüge(kontoNummer);
|
|
||||||
return auszügeStrings;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void saveKonten() throws Exception {
|
public void saveKonten() throws Exception {
|
||||||
per.saveKontos(bank);
|
per.saveKontos(bank);
|
||||||
|
@ -72,6 +71,11 @@ public class Banksystem {
|
||||||
public void loadKonten() throws Exception {
|
public void loadKonten() throws Exception {
|
||||||
bank = per.load();
|
bank = per.load();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String[] erstelleKontoAuszug(int kontoNummer) {
|
||||||
|
Konto konto = bank.getKonto(kontoNummer);
|
||||||
|
return konto.getKontoBewegungen();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@ public class UI {
|
||||||
case 3: geldbetragEinzahlen(); break;
|
case 3: geldbetragEinzahlen(); break;
|
||||||
case 4: kontoAbfragen(); break;
|
case 4: kontoAbfragen(); break;
|
||||||
case 5: geldAbheben(); break;
|
case 5: geldAbheben(); break;
|
||||||
case 6: kontoauszügeAnsugeben(); break;
|
case 6: kontoAuszügeAnsgeben(); break;
|
||||||
case 7: kontenLaden(); break;
|
case 7: kontenLaden(); break;
|
||||||
case 9: break mainloop;
|
case 9: break mainloop;
|
||||||
}
|
}
|
||||||
|
@ -62,16 +62,12 @@ public class UI {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void kontoauszügeAnsugeben() {
|
private void kontoAuszügeAnsgeben() {
|
||||||
System.out.println("Geben Sie ihre Kontonummer ein");
|
System.out.println("Geben Sie ihre Kontonummer ein");
|
||||||
int kontoNummer = Integer.parseInt(sc.nextLine());
|
int kontoNummer = Integer.parseInt(sc.nextLine());
|
||||||
String[] auszüge = bs.getKontoAuszüge(kontoNummer);
|
String[] kontobewegungStrings= bs.erstelleKontoAuszug(kontoNummer);
|
||||||
if (auszüge.length>0) {
|
for(String kbString : kontobewegungStrings) {
|
||||||
for(String s : auszüge) {
|
System.out.println(kbString);
|
||||||
System.out.println(s);
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
System.out.println("Es sind noch keine Aktivitäten vorhanden");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,7 +76,7 @@ public class UI {
|
||||||
int kontoNummer = Integer.parseInt(sc.nextLine());
|
int kontoNummer = Integer.parseInt(sc.nextLine());
|
||||||
System.out.println("Bitte geben sie denn Betrag ein denn sie abheben wollen");
|
System.out.println("Bitte geben sie denn Betrag ein denn sie abheben wollen");
|
||||||
long geldAbheben = Long.parseLong(sc.nextLine());
|
long geldAbheben = Long.parseLong(sc.nextLine());
|
||||||
String abgehobenString = bs.geldAbheben(kontoNummer,geldAbheben);
|
boolean abgehobenString = bs.geldAbheben(kontoNummer,geldAbheben);
|
||||||
System.out.println(abgehobenString);
|
System.out.println(abgehobenString);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -97,7 +93,7 @@ public class UI {
|
||||||
System.out.println("Bitte geben sie denn Betrag ein denn sie einzahlen möschten");
|
System.out.println("Bitte geben sie denn Betrag ein denn sie einzahlen möschten");
|
||||||
long geldBetrag = Long.parseLong(sc.nextLine());
|
long geldBetrag = Long.parseLong(sc.nextLine());
|
||||||
long neuerGeldBetrag = bs.geldEinzahlen(kontoNummer,geldBetrag);
|
long neuerGeldBetrag = bs.geldEinzahlen(kontoNummer,geldBetrag);
|
||||||
System.out.println("Ihr neuer Betrag ist: " + neuerGeldBetrag);
|
System.out.println("Ihr neuer Betrag ist: " + (double)neuerGeldBetrag/100);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void kontenAnzeigen() {
|
private void kontenAnzeigen() {
|
||||||
|
|
|
@ -13,7 +13,6 @@ public class Persistenc {
|
||||||
|
|
||||||
|
|
||||||
public void saveKontos(Bank bank) throws Exception {
|
public void saveKontos(Bank bank) throws Exception {
|
||||||
// File fileKonton = new File("Konten.txt");
|
|
||||||
FileOutputStream fOS;
|
FileOutputStream fOS;
|
||||||
fOS = new FileOutputStream("Konten.ser");
|
fOS = new FileOutputStream("Konten.ser");
|
||||||
ObjectOutputStream oos = new ObjectOutputStream(fOS);
|
ObjectOutputStream oos = new ObjectOutputStream(fOS);
|
||||||
|
@ -24,7 +23,6 @@ public class Persistenc {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Bank load() throws Exception {
|
public Bank load() throws Exception {
|
||||||
// File toRead = new File("Konten.ser");
|
|
||||||
FileInputStream fis = new FileInputStream("Konten.ser");
|
FileInputStream fis = new FileInputStream("Konten.ser");
|
||||||
ObjectInputStream ois = new ObjectInputStream(fis);
|
ObjectInputStream ois = new ObjectInputStream(fis);
|
||||||
Bank bank = (Bank) ois.readObject();
|
Bank bank = (Bank) ois.readObject();
|
||||||
|
|
Loading…
Reference in New Issue