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 a251ed5..c62f69b 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 @@ -1,8 +1,10 @@ package de.hs_mannheim.informatik.bank.domain; +import java.util.ArrayList; + public class Konto { private static int kontozaehler = 0; - + private ArrayList bewegungen = new ArrayList(); private int nummer; private long stand = 0; private String inhaber; @@ -29,6 +31,14 @@ public class Konto { public long getKontostand() { return stand; } + + public ArrayList getBewegungen() { + return bewegungen; + } + + public void setBewegungen(String bewegung) { + bewegungen.add(bewegung); + } @Override public String toString() { 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 35a977c..8f2a647 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 @@ -1,5 +1,6 @@ package de.hs_mannheim.informatik.bank.facade; +import java.util.ArrayList; import java.util.Collection; import de.hs_mannheim.informatik.bank.domain.Bank; @@ -43,7 +44,10 @@ public class Banksystem { k.kontoEinzahlen(k, betrag_long); // Betrag mit 2 Nachkommastellen für den User anzeigen lassen - return kontostandMitKomma(k); + String betrag_aktuell = kontostandMitKomma(k); + k.setBewegungen(betrag_aktuell + " (+)"); + + return betrag_aktuell; } public String kontoAbheben(String betrag, int kontonr) { @@ -56,7 +60,9 @@ public class Banksystem { k.kontoAbheben(k, betrag_long); // Betrag mit 2 Nachkommastellen für den User anzeigen lassen - return kontostandMitKomma(k); + String betrag_aktuell = kontostandMitKomma(k); + k.setBewegungen(betrag_aktuell + " (-)"); + return betrag_aktuell; } private String betragMitKomma(String betrag) { @@ -80,6 +86,11 @@ public class Banksystem { return standKomma.toString(); } + public ArrayList kontoAuszug(int kontonr) { + Konto k = bank.getKonto(kontonr); + return k.getBewegungen(); + } + public String[] getKontenliste() { Collection konten = bank.getKontenliste(); String[] liste = new String[konten.size()]; 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 dc6185d..5cc410f 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 @@ -1,5 +1,6 @@ package de.hs_mannheim.informatik.bank.ui; +import java.util.ArrayList; import java.util.Scanner; import de.hs_mannheim.informatik.bank.facade.Banksystem; @@ -26,6 +27,7 @@ public class UI { System.out.println("3 -> Einzahlen"); System.out.println("4 -> Kontostand"); System.out.println("5 -> Abheben"); + System.out.println("6 -> Kontoauszug"); System.out.println("9 -> Beenden"); System.out.println(); @@ -39,6 +41,7 @@ public class UI { case 3: kontoEinzahlen(); break; case 4: kontoStand(); break; case 5: kontoAbheben(); break; + case 6: kontoAuszug(); break; case 9: break mainloop; } } @@ -92,7 +95,7 @@ public class UI { } private void kontoStand() { - //Kontonr einlesen + // Kontonr einlesen System.out.println("Kontonummer: "); int kontonr = sc.nextInt(); sc.nextLine(); @@ -100,5 +103,20 @@ public class UI { String gesamt = bs.kontoStand(kontonr); System.out.println("Kontostand: " + gesamt + "€."); } + + private void kontoAuszug() { + // Kontonr einlesen + System.out.println("Kontonummer: "); + int kontonr = sc.nextInt(); + sc.nextLine(); + + ArrayList bewegungen = new ArrayList(); + bewegungen = bs.kontoAuszug(kontonr); + for (String bewegung: bewegungen) { + System.out.println(bewegung); + } + + System.out.println("Aktueller Kontostand: " + bs.kontoStand(kontonr)); + } }