forked from hummel/Bank-System
Kontoauszüge hinzugefügt
parent
6c65d0e351
commit
25105db288
|
@ -6,10 +6,6 @@
|
|||
<attribute name="module" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
|
@ -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<Integer, String> 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<Integer, String> 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 + "]";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -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<Konto> 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();
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue