diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java index 59ddf3e..e7a7d8a 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java @@ -24,16 +24,38 @@ public class Bank { public Collection getKontenliste() { return konten.values();//Liste aus HashMaps } - public ArrayList EinzahlungenAuszahlungen(int knum, long betrag ){ - ArrayList bewegung= null; + public ArrayList EinzahlungenAuszahlungen(int knum, long betrag ){ + ArrayList bewegung= null; + Kontobewegung kb=null; if(knum != 0 && betrag !=0) { bewegung=konten.get(knum).getZahlungen(); - bewegung.add(betrag); - return bewegung; + if(betrag<0) { + kb=new Kontobewegung(konten.get(knum).getInhaber(),betrag,Zahlungsart.AUSZAHLUNG); + if(kb!=null) { + bewegung.add(kb); + return bewegung; + } + }else if(betrag>=0) { + kb=new Kontobewegung(konten.get(knum).getInhaber(),betrag,Zahlungsart.EINZAHLUNG); + if(kb!=null) { + bewegung.add(kb); + return bewegung; + } + } } return null; } + public ArrayList getKontobewegung(int knum){ + ArrayList kBewegung= null; + if(knum!=0) { + kBewegung=konten.get(knum).getZahlungen(); + if(!kBewegung.isEmpty()) { + return kBewegung; + } + }return null; + + } } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java index 241be53..a3d6b2d 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java @@ -8,7 +8,7 @@ public class Konto { private int nummer; private long stand = 0; private String inhaber; - private ArrayList zahlungen= new ArrayList<>(); + private ArrayList zahlungen= new ArrayList<>(); public Konto(String inhaber) { nummer = 1000 + kontozähler++; @@ -32,7 +32,7 @@ public class Konto { this.stand = stand; } - public ArrayList getZahlungen() { + public ArrayList getZahlungen() { return zahlungen; } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontobewegung.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontobewegung.java index cd1a06c..59d8d10 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontobewegung.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontobewegung.java @@ -1,15 +1,19 @@ package de.hs_mannheim.informatik.bank.domain; +import java.text.SimpleDateFormat; +import java.util.Calendar; import java.util.Date; public class Kontobewegung { private String auftraggeber=null; - private Date datum = null; + private Date datum = Calendar.getInstance().getTime(); private Zahlungsart zahlungsart=null; + private long betrag=0; - public Kontobewegung(String auftraggeber, Zahlungsart zahlungsart) { + public Kontobewegung(String auftraggeber, long betrag,Zahlungsart zahlungsart) { this.auftraggeber=auftraggeber; - this.datum=datum; + formatDate(datum); + this.betrag=betrag; this.zahlungsart=zahlungsart; } @@ -26,7 +30,7 @@ public class Kontobewegung { } public void setDatum(Date datum) { - this.datum = datum; + this.datum = Calendar.getInstance().getTime(); } public Zahlungsart getZahlungsart() { @@ -36,4 +40,23 @@ public class Kontobewegung { public void setZahlungsart(Zahlungsart zahlungsart) { this.zahlungsart = zahlungsart; } + public long getBetrag() { + return betrag; + } + + public void setBetrag(long betrag) { + this.betrag = betrag; + } + + public String formatDate(Date datum) { + String format=new SimpleDateFormat("dd/MM/yyyy HH:mm").format(datum); + if(format!=null) { + return format; + } + return null; + } + @Override + public String toString() { + return "Betrag: "+betrag+"[Zahlungsart: "+zahlungsart+" Datum=" + datum + ", Auftraggeber=" + auftraggeber + "]"; + } } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Zahlungsart.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Zahlungsart.java index 022b1cb..f91df2f 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Zahlungsart.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Zahlungsart.java @@ -1,13 +1,13 @@ package de.hs_mannheim.informatik.bank.domain; public enum Zahlungsart { - EINZAHLUNG("einzahlung"), - AUSZAHLUNG("auszahlung"), + EINZAHLUNG("Einzahlung"), + AUSZAHLUNG("Auszahlung"), UEBERWEISUNG("Ueberweisung"); private String zArt; - Zahlungsart (String zArt) + Zahlungsart (String zArt) { this.setzArt(zArt); } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java index 9113a93..47f5272 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java @@ -6,6 +6,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.Kontobewegung; public class Banksystem { private Bank bank; @@ -46,53 +47,32 @@ public class Banksystem { return bank.getName(); } - public ArrayList kontoAuszug(int knum, long sum) { - ArrayList zahlungen = null; - if (knum != 0 && sum != 0) { - zahlungen = bank.EinzahlungenAuszahlungen(knum, sum); - if (zahlungen != null) { - for (Long zahlung : zahlungen) { - if (zahlung > 0) { - - } - } - } - } - return null; - } public String kontoAuszugToString(int knum) { - ArrayList zahlungen = null; + ArrayList zahlungen = null; String back = ""; if (knum != 0) { - zahlungen = bank.EinzahlungenAuszahlungen(knum, 0); + zahlungen = bank.getKontobewegung(knum); if (!zahlungen.isEmpty()) { - for (Long zahlung : zahlungen) { - if (zahlung > 0) { - back+=zahlung.toString(zahlung)+ "\n"; - } + for (Kontobewegung zahlung : zahlungen) { + back+=zahlung.toString()+ "\n"; + }return back; } } return null; } - private String toString(long betrag) { - if (betrag >= 0) { - return "Auszahlung: " + betrag; - } - return "Einzahlung: " + betrag; - } // Geldbetrag einzahlen - public long betragEinzahlen(int knum, long amount) { + public long betragEinzahlen(int knum, long betrag) { long sum = 0; Collection liste = bank.getKontenliste(); - if (knum != 0 && amount != 0) { + if (knum != 0 && betrag != 0) { for (Konto k : liste) { if (k.getKontonummer() == knum) { sum = k.getStand(); - sum += amount; - bank.EinzahlungenAuszahlungen(k.getKontonummer(), amount); + sum += betrag; + bank.EinzahlungenAuszahlungen(k.getKontonummer(), betrag); k.setStand(sum); return k.getStand(); } @@ -102,15 +82,15 @@ public class Banksystem { } // Betrag auszahlen - public long betragAuszahlen(int knum, long amount) { + public long betragAuszahlen(int knum, long betrag) { long sum = 0; Collection liste = bank.getKontenliste(); - if (knum != 0 && amount != 0) { + if (knum != 0 && betrag != 0) { for (Konto k : liste) { if (k.getKontonummer() == knum) { sum = k.getStand(); - sum -= amount; - bank.EinzahlungenAuszahlungen(k.getKontonummer(), -amount); + sum -= betrag; + bank.EinzahlungenAuszahlungen(k.getKontonummer(), -betrag); k.setStand(sum); return k.getStand(); } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java index ab8be6c..462f705 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java @@ -146,6 +146,7 @@ public class UI { } private void kontoStand() { + System.out.println("Kontostandabfrage:"); System.out.println("Bitte die Kontonummer angeben:"); int kontonummer = 0; try { @@ -161,6 +162,19 @@ public class UI { } private void kontoAuszug() { + System.out.println("Kontoauszug:"); + System.out.println("Bitte die Kontonummer angeben:"); + int kontonummer = 0; + try { + kontonummer = Integer.parseInt(sc.nextLine()); + } catch (NumberFormatException e) { + System.out.println("Inkorrekte Eingabe!"); + System.out.println("Es wurde kein Konto mit dieser Nummer gefunden."); + } + if(bs.kontoAuszugToString(kontonummer)!=null) { + System.out.println("Folgend sehen"); + System.out.println(bs.kontoAuszugToString(kontonummer).toString()); + }System.out.println("Es konnte kein Kontoauszug gefunden werden."); }