diff --git a/Bank-Beispiel/.classpath b/Bank-Beispiel/.classpath
index 57bca72..aa3d84a 100644
--- a/Bank-Beispiel/.classpath
+++ b/Bank-Beispiel/.classpath
@@ -1,10 +1,11 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java
index b075558..9fafdd1 100644
--- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java
+++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java
@@ -6,7 +6,7 @@ import de.hs_mannheim.informatik.bank.ui.UI;
public class Main {
public static void main(String[] args) {
- Banksystem bs = new Banksystem("Spaßkasse Mannheim");
+ Banksystem bs = new Banksystem("Spaßkasse Mannheim");
UI ui = new UI(bs);
}
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 0b66d3d..5b31c4e 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
@@ -3,6 +3,7 @@ package de.hs_mannheim.informatik.bank.domain;
import java.util.Collection;
import java.util.HashMap;
+
public class Bank {
private String name;
private HashMap konten = new HashMap<>();
@@ -22,5 +23,12 @@ public class Bank {
public Collection getKontenliste() {
return konten.values();
}
+ public long getKontostand(int Kontonummer) {
+ return konten.get(Kontonummer).getStand();
+ }
+ public long GeldEinzahlen(int Kontonummer,long Betrag) {
+ return konten.get(Kontonummer).Einzahlen(Betrag);
+ }
}
+
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 654d503..cfa98ed 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,14 +1,14 @@
package de.hs_mannheim.informatik.bank.domain;
public class Konto {
- private static int kontozähler = 0;
+ private static int kontozähler = 0;
private int nummer;
private long stand = 0;
private String inhaber;
public Konto(String inhaber) {
- nummer = 1000 + kontozähler++;
+ nummer = 1000 + kontozähler++;
this.inhaber = inhaber;
}
@@ -20,5 +20,12 @@ public class Konto {
public String toString() {
return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]";
}
-
+ public long Einzahlen(long Betrag) {
+ if(Betrag>=0)
+ this.stand+=Betrag;
+ return getStand();
+ }
+ public long getStand() {
+ return this.stand;
+ }
}
diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java
new file mode 100644
index 0000000..7f2b1b7
--- /dev/null
+++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/KontoTest.java
@@ -0,0 +1,27 @@
+package de.hs_mannheim.informatik.bank.domain;
+
+import static org.junit.Assert.*;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+
+public class KontoTest {
+
+ @Test
+ public void Testcase7() {
+ Konto k=new Konto("Marc");
+ Assert.assertEquals("einzahlen min",k.Einzahlen(1),1L);
+ }
+ @Test
+ public void Testcase8() {
+ Konto k=new Konto("Marc");
+ Assert.assertEquals("hohe Zahl",k.Einzahlen(999999),999999L);
+ }
+ @Test
+ public void Testcase9() {
+ Konto k=new Konto("Marc");
+ Assert.assertEquals("negative Zahl",k.Einzahlen(-1),0);
+ }
+
+}
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 821c2a9..6d290a3 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
@@ -34,4 +34,10 @@ public class Banksystem {
public String getBankname() {
return bank.getName();
}
+ public long Einzahlen(int Kontonummer,long Betrag) {
+ return this.bank.GeldEinzahlen(Kontonummer, Betrag);
+ }
+ public long getKontostand(int Kontonummer) {
+ return bank.getKontostand(Kontonummer);
+ }
}
diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/BanksystemTest.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/BanksystemTest.java
new file mode 100644
index 0000000..c978bfb
--- /dev/null
+++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/BanksystemTest.java
@@ -0,0 +1,88 @@
+package de.hs_mannheim.informatik.bank.facade;
+
+import static org.junit.Assert.*;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+
+public class BanksystemTest {
+
+ @Test
+ public void Testcase1() {
+ Banksystem bs=new Banksystem("Testbank");
+ int kontonummer=bs.kontoAnlegen("Marc");
+ System.out.println(kontonummer);
+ Assert.assertEquals("erster Testcase einzahlen des mindestWerts",bs.Einzahlen(kontonummer, 1L),1L);
+ }
+ @Test
+ public void Testcase2() {
+ Banksystem bs=new Banksystem("Testbank");
+ bs.kontoAnlegen("Marc");
+ int kontonummer=bs.kontoAnlegen("Marc1");
+ System.out.println(kontonummer);
+ Assert.assertEquals("höchst Wert",bs.Einzahlen(kontonummer, 9999999999999999L),9999999999999999L);
+ }
+
+ @Test
+ public void Testcase3() {
+ Banksystem bs=new Banksystem("Testbank");
+ bs.kontoAnlegen("Marc");
+ bs.kontoAnlegen("Marc1");
+ int kontonummer = bs.kontoAnlegen("Marc2");
+ System.out.println(kontonummer);
+ Assert.assertEquals("Test zum nichtbeachten Zahlen kleiner 0",bs.Einzahlen(kontonummer, -1L),0L);
+ }
+
+ @Test
+ public void Testcase4() {
+ Banksystem bs=new Banksystem("Testbank");
+ bs.kontoAnlegen("Marc");
+ bs.kontoAnlegen("Marc1");
+ bs.kontoAnlegen("Marc2");
+ bs.kontoAnlegen("Marc3");
+ bs.kontoAnlegen("Marc4");
+
+ bs.kontoAnlegen("Marc5");
+ bs.kontoAnlegen("Marc6");
+ bs.kontoAnlegen("Marc7");
+ bs.kontoAnlegen("Marc8");
+ int kontonummer=bs.kontoAnlegen("Marc9");
+ System.out.println(kontonummer);
+ Assert.assertEquals("Höchstwert der Kontonummer testen",bs.Einzahlen(kontonummer, 1L),1L);
+ }
+ @Test(expected = NullPointerException.class)
+ public void Testcase5() {
+ Banksystem bs=new Banksystem("Testbank");
+ bs.kontoAnlegen("Marc");
+ bs.kontoAnlegen("Marc1");
+ bs.kontoAnlegen("Marc2");
+ bs.kontoAnlegen("Marc3");
+ bs.kontoAnlegen("Marc4");
+
+ bs.kontoAnlegen("Marc5");
+ bs.kontoAnlegen("Marc6");
+ bs.kontoAnlegen("Marc7");
+ bs.kontoAnlegen("Marc8");
+ bs.kontoAnlegen("Marc9");
+ Assert.assertEquals("Fehlermeldung bei zukleiner Kontonummer",bs.Einzahlen(999, 1L),1L);
+ }
+ @Test(expected = NullPointerException.class)
+ public void Testcase6() {
+ Banksystem bs=new Banksystem("Testbank");
+ bs.kontoAnlegen("Marc");
+ bs.kontoAnlegen("Marc1");
+ bs.kontoAnlegen("Marc2");
+ bs.kontoAnlegen("Marc3");
+ bs.kontoAnlegen("Marc4");
+
+ bs.kontoAnlegen("Marc5");
+ bs.kontoAnlegen("Marc6");
+ bs.kontoAnlegen("Marc7");
+ bs.kontoAnlegen("Marc8");
+ bs.kontoAnlegen("Marc9");
+
+ Assert.assertEquals("Fehlermeldung bei zu großer Kontonummer",bs.Einzahlen(1100, 1L),1L);
+ }
+
+}
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 d6eb6e9..dc32eeb 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
@@ -10,19 +10,21 @@ public class UI {
public UI(Banksystem bs) {
this.bs = bs;
- hauptmenü();
+ hauptmenü();
}
- private void hauptmenü() {
+ private void hauptmenü() {
System.out.println("Willkommen bei der " + bs.getBankname() + "!");
mainloop:
while (true) {
System.out.println();
System.out.println("--------");
- System.out.println("Hauptmenü");
+ System.out.println("Hauptmenü");
System.out.println("1 -> Konten anzeigen");
System.out.println("2 -> Konto anlegen");
+ System.out.println("3 -> Geld einzahlen");
+ System.out.println("4 -> Kontostand abfragen");
System.out.println("9 -> Beenden");
System.out.println();
@@ -33,24 +35,27 @@ public class UI {
switch(input) {
case 1: kontenAnzeigen(); break;
case 2: kontoAnlegen(); break;
+ case 3: kontoEinzahlen();break;
+ case 4: kontoStandAbfragen();break;
case 9: break mainloop;
}
}
System.out.println("Auf Wiedersehen!");
- } // hauptmenü
+ } // hauptmenü
private void kontenAnzeigen() {
String[] konten = bs.getKontenliste();
if (konten.length > 0) {
- System.out.println("Folgende Konten sind aktuell verfügbar:");
+ System.out.println("Folgende Konten sind aktuell verfügbar:");
for (String s : konten) {
System.out.println(s);
}
} else {
System.out.println("Bisher keine Konten angelegt.");
}
+ sc.nextLine();
}
private void kontoAnlegen() {
@@ -59,6 +64,50 @@ public class UI {
int kontonummer = bs.kontoAnlegen(name);
System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt.");
+ sc.nextLine();
}
+ public void kontoEinzahlen() {
+ System.out.println("Kontonummer: ");
+ int Kontonummer=Integer.parseInt(sc.nextLine());
+ long Betrag=0L;
+ try {
+ System.out.println("Betrag angeben");
+ Betrag=Long.parseLong(sc.nextLine());
+
+ if(Betrag<0) {
+ System.out.println("Man kann keine negativen Beträge einzahlen ");
+
+ }
+
+
+ }
+ catch(Exception InputMismatchException){
+ System.out.println("Bitte daran denken das nur ganze Zahlen mit Long angenommen werden");
+
+ }
+ try {
+
+ long Kontostand=bs.Einzahlen(Kontonummer, Betrag);
+ System.out.println("Der aktuelle Kontostand beträgt: "+Kontostand+" Euro");
+ sc.nextLine();
+ }catch(Exception NullPointerException) {
+ System.out.println("Nicht excistierendes Konto");
+ sc.nextLine();
+ }
+
+
+
+ }
+ public void kontoStandAbfragen() {
+ System.out.println("bitte geben Sie ihre Kontonummer an: ");
+ int Kontonummer=Integer.parseInt(sc.nextLine());
+ try {
+ System.out.println("der Kontostand beträgt: "+ bs.getKontostand(Kontonummer));
+ }
+ catch(Exception NullPointerException) {
+ System.out.println("Nicht excistierendes Konto");
+ }
+ sc.nextLine();
+ }
}