diff --git a/Bank-BeispielMeins/Sparkasse Mannheim-bank-data.ser b/Bank-BeispielMeins/Sparkasse Mannheim-bank-data.ser deleted file mode 100644 index 691fb1e..0000000 Binary files a/Bank-BeispielMeins/Sparkasse Mannheim-bank-data.ser and /dev/null differ diff --git a/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Bank.java b/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Bank.java index 80dc759..89e7601 100644 --- a/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Bank.java +++ b/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Bank.java @@ -25,7 +25,7 @@ public class Bank implements Serializable{ public Collection getKontenliste() { return konten.values(); } - public List getAuszüge(int kontonummer){ + public List getAuszüge(int kontonummer){ Konto konto = konten.get(kontonummer); if (konto == null) { return new ArrayList<>(); diff --git a/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java b/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java new file mode 100644 index 0000000..9d143a7 --- /dev/null +++ b/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java @@ -0,0 +1,25 @@ +package de.hs_mannheim.informatik.bank.domain; + +import java.io.Serializable; + +public class Girokonto extends Konto implements Serializable{ + public Girokonto(String inhaber, int kontozähler) { + super(inhaber, kontozähler); + } + + public boolean Überweise(Girokonto ziel, long betrag, String zweck) { + if (super.getKontostand() - betrag >= 0) { + this.auszahlen(betrag, zweck, "Ãœberweisungsausgang", super.getInhaber()); + ziel.einzahlen(betrag, zweck, "Ãœberweisungseingang", super.getInhaber()); + + return true; + } + + return false; + } + + @Override + public String toString() { + return "Giro-" + super.toString(); + } +} diff --git a/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Konto.java b/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Konto.java index 828272f..63ab9ea 100644 --- a/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Konto.java +++ b/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Konto.java @@ -2,47 +2,65 @@ package de.hs_mannheim.informatik.bank.domain; import java.io.Serializable; import java.util.ArrayList; -import java.util.List; -public class Konto implements Serializable { - private static int kontozähler = 0; - +public class Konto implements Serializable { private int nummer; private long stand = 0; private String inhaber; - - private ArrayList auszüge = new ArrayList<>(); - public Konto(String inhaber) { - nummer = 1000 + kontozähler++; + private ArrayList kontobewegungen; + + public Konto(String inhaber, int kontozähler) { + nummer = 1000 + kontozähler; this.inhaber = inhaber; + + this.kontobewegungen = new ArrayList<>(); } - + public int getKontonummer() { return nummer; } - public String getKontoinhaber() { - return inhaber; - } @Override public String toString() { - String ausgabe ="Konto [nummer=" + nummer + ", inhaber=" + inhaber + ", stand=" +stand + "]"; - return ausgabe ; + return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + " kontostand="+stand+"]"; } - public long addKontostand(String inhaber, long zahl) { - stand = getKontostand() +zahl; - auszüge.add(new Kontoauszüge(stand, zahl, inhaber)); - return stand; + public String getInhaber() { + return inhaber; } + public long getKontostand() { return stand; } - public List getAuszüge() { - return auszüge; + public void einzahlen(long betrag, String zweck, String art, String auftraggeber) { + stand += betrag; + + kontobewegungen.add(new Kontobewegungen(betrag, zweck, art, auftraggeber)); } - - + + public boolean auszahlen(long betrag, String zweck, String art, String auftraggeber) { + if (stand - betrag >= 0) { + stand -= betrag; + + kontobewegungen.add(new Kontobewegungen(betrag * -1, zweck, art, auftraggeber)); + + return true; + } + + return false; + } + + public String[] getKontobewegungen() { + String[] auflistung = new String[kontobewegungen.size()]; + + int i = 0; + for (Kontobewegungen kb : kontobewegungen) { + auflistung[i++] = kb.toString(); + } + + return auflistung; + } + } diff --git a/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Kontoauszüge.java b/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Kontobewegungen.java similarity index 79% rename from Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Kontoauszüge.java rename to Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Kontobewegungen.java index a923651..d5e38f6 100644 --- a/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Kontoauszüge.java +++ b/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/domain/Kontobewegungen.java @@ -3,14 +3,14 @@ package de.hs_mannheim.informatik.bank.domain; import java.io.Serializable; import java.util.Date; -public class Kontoauszüge implements Serializable { +public class Kontobewegungen implements Serializable { private long kontostand; private long betrag; private Date date = new Date(); private String auftraggeber; - public Kontoauszüge(long kontozustand, long betrag, String auftraggeber) { + public Kontobewegungen(long kontozustand, long betrag, String auftraggeber) { this.kontostand = kontostand; this.betrag = betrag; this.auftraggeber = auftraggeber; diff --git a/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java b/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java index 6251ada..1959137 100644 --- a/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java +++ b/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java @@ -5,7 +5,7 @@ import java.util.List; import de.hs_mannheim.informatik.bank.domain.Bank; import de.hs_mannheim.informatik.bank.domain.Konto; -import de.hs_mannheim.informatik.bank.domain.Kontoauszüge; +import de.hs_mannheim.informatik.bank.domain.Kontobewegungen; import infrastruktur.Persistenz; public class Banksystem { @@ -117,7 +117,7 @@ public class Banksystem { } - public List getAuszüge(int kontonummer) { + public List getAuszüge(int kontonummer) { return bank.getAuszüge(kontonummer); } diff --git a/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/ui/UI.java b/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/ui/UI.java index 4c2adc1..214afae 100644 --- a/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/ui/UI.java +++ b/Bank-BeispielMeins/src/de/hs_mannheim/informatik/bank/ui/UI.java @@ -3,7 +3,7 @@ package de.hs_mannheim.informatik.bank.ui; import java.util.List; import java.util.Scanner; -import de.hs_mannheim.informatik.bank.domain.Kontoauszüge; +import de.hs_mannheim.informatik.bank.domain.Kontobewegungen; import de.hs_mannheim.informatik.bank.facade.Banksystem; public class UI { @@ -172,9 +172,9 @@ public class UI { System.out.println("Kein Konto vorhanden"); return; } - List auszüge = bs.getAuszüge(kontonummer); + List auszüge = bs.getAuszüge(kontonummer); - for(Kontoauszüge auszug : auszüge) { + for(Kontobewegungen auszug : auszüge) { System.out.println(auszug); } }