diff --git a/Bank-Beispiel/.classpath b/Bank-Beispiel/.classpath
index baa1c9f..80da0c7 100644
--- a/Bank-Beispiel/.classpath
+++ b/Bank-Beispiel/.classpath
@@ -6,10 +6,6 @@
-
-
-
-
-
+
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 3818ee4..2ca8c8d 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
@@ -31,12 +31,12 @@ public class Bank {
} else
System.out.println("Konto nicht vorhanden");
}
-
+
public void auszahlen(long betrag, int kontonummer) {
- if(konten.containsKey(kontonummer)) {
+ if (konten.containsKey(kontonummer)) {
konten.get(kontonummer).auszahlen(betrag);
- }
- else
+ System.out.println("Betrag " + betrag + " auf Konto " + kontonummer + " eingezahlt");
+ } else
System.out.println("Konto nicht vorhanden");
}
@@ -47,4 +47,12 @@ public class Bank {
System.out.println("Konto nicht vorhanden");
}
+ public void kontoauszügeZeigen(int kontonummer) {
+ if (konten.containsKey(kontonummer)) {
+ for(int i = 0;konten.get(kontonummer).getKontoauszüge().size()> i;i++) {
+ System.out.println(konten.get(kontonummer).getKontoauszüge().get(i));
+ }
+ } else
+ System.out.println("Konto nicht vorhanden");
+ }
}
\ No newline at end of file
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 70d346f..6d32861 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,32 +1,46 @@
package de.hs_mannheim.informatik.bank.domain;
+import java.time.LocalDateTime;
+import java.util.HashMap;
+
public class Konto {
private static int kontozähler = 0;
-
+
private int nummer;
private long stand = 0;
private String inhaber;
+ private HashMap kontoauszüge = new HashMap<>();
+ private int transaktionsCounter = 0;
public Konto(String inhaber) {
nummer = 1000 + kontozähler++;
this.inhaber = inhaber;
+ kontoauszüge.put(transaktionsCounter++, "Konto wurde am " + LocalDateTime.now() + "eröffnet");
}
-
+
public int getKontonummer() {
return nummer;
}
-
+
public void einzahlen(long betrag) {
stand += betrag;
+ kontoauszüge.put(transaktionsCounter++,
+ LocalDateTime.now() + " Betrag " + betrag + " wurde auf Konto " + nummer + " eingezahlt");
}
-
+
public void auszahlen(long betrag) {
- if(betrag <= stand)
- stand-= betrag;
- else
+ if (betrag <= stand) {
+ stand -= betrag;
+ kontoauszüge.put(transaktionsCounter++,
+ LocalDateTime.now() + " Betrag " + betrag + " wurde von Konto " + nummer + " abgehoben");
+ } else
System.out.println("Kontostand nicht aureichend");
}
+ public HashMap getKontoauszüge(){
+ return kontoauszüge;
+ }
+
public long getKontostand() {
return stand;
}
@@ -35,5 +49,5 @@ public class Konto {
public String toString() {
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + ", stand=" + stand + "]";
}
-
+
}
diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTests.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTests.java
new file mode 100644
index 0000000..69615b5
--- /dev/null
+++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTests.java
@@ -0,0 +1,23 @@
+package de.hs_mannheim.informatik.bank.domain;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+class KontoTests {
+
+ @Test
+ void test() {
+ Konto k = new Konto("Hans");
+ Bank b = new Bank("Sparkasse");
+
+ b.addKonto(k);
+
+ b.einzahlen(500, k.getKontonummer());
+ b.einzahlen(200, k.getKontonummer());
+
+ assertEquals(700, k.getKontostand());
+
+ }
+
+}
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 c108841..09e62a8 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
@@ -7,41 +7,46 @@ import de.hs_mannheim.informatik.bank.domain.Konto;
public class Banksystem {
private Bank bank;
-
+
public Banksystem(String bankname) {
this.bank = new Bank(bankname);
}
-
+
public int kontoAnlegen(String name) {
Konto k = new Konto(name);
bank.addKonto(k);
-
+
return k.getKontonummer();
}
-
+
public void einzahlen(long betrag, int kontonummer) {
bank.einzahlen(betrag, kontonummer);
}
-
+
public void auszahlen(long betrag, int kontonummer) {
bank.auszahlen(betrag, kontonummer);
}
-
+
public void kontostandZeigen(int kontonummer) {
bank.kontostandZeigen(kontonummer);
}
+
public String[] getKontenliste() {
Collection konten = bank.getKontenliste();
String[] liste = new String[konten.size()];
-
+
int i = 0;
for (Konto k : konten) {
- liste[i++] = k.toString();
+ liste[i++] = k.toString();
}
-
+
return liste;
}
+ public void kontoauszügeZeigen(int kontonummer) {
+ bank.kontoauszügeZeigen(kontonummer);
+ }
+
public String getBankname() {
return bank.getName();
}
diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/BanksystemTests.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/BanksystemTests.java
new file mode 100644
index 0000000..011715e
--- /dev/null
+++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/BanksystemTests.java
@@ -0,0 +1,23 @@
+package de.hs_mannheim.informatik.bank.facade;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+import org.junit.jupiter.api.Test;
+
+import de.hs_mannheim.informatik.bank.domain.Konto;
+
+class BanksystemTests {
+
+ @Test
+ void einzahlenTest() {
+ Banksystem bs = new Banksystem("Sparkasse");
+
+ bs.kontoAnlegen("Hans");
+
+ bs.einzahlen(500, 1000);
+ bs.einzahlen(200, 1000);
+
+ assertEquals(700, 700);
+ }
+
+}
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 e7b0138..314661b 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
@@ -25,6 +25,7 @@ public class UI {
System.out.println("3 -> Geld einzahlen");
System.out.println("4 -> Geld auszahlen");
System.out.println("5 -> Kontostand anzeigen");
+ System.out.println("6 -> Kontoauszüge zeigen");
System.out.println("9 -> Beenden");
System.out.println();
@@ -48,6 +49,9 @@ public class UI {
case 5:
kontostandZeigen();
break;
+ case 6:
+ kontoauszügeZeigen();
+ break;
case 9:
break mainloop;
}
@@ -117,4 +121,15 @@ public class UI {
System.out.println("Fehlerhafte Eingabe");
}
}
+
+ private void kontoauszügeZeigen() {
+ int kontonummer;
+ try {
+ System.out.print("Kontonummer eingeben: ");
+ kontonummer = Integer.parseInt(sc.nextLine());
+ bs.kontoauszügeZeigen(kontonummer);
+ } catch (Exception e) {
+ System.out.println("Fehlerhafte Eingabe");
+ }
+ }
}