Kontoauszüge hinzugefügt

main
User 2022-10-17 19:04:17 +02:00
parent 6c65d0e351
commit 25105db288
7 changed files with 110 additions and 26 deletions

View File

@ -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>

View File

@ -33,10 +33,10 @@ public class Bank {
}
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");
}
}

View File

@ -1,15 +1,21 @@
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() {
@ -18,15 +24,23 @@ public class Konto {
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;
}

View File

@ -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());
}
}

View File

@ -30,6 +30,7 @@ public class Banksystem {
public void kontostandZeigen(int kontonummer) {
bank.kontostandZeigen(kontonummer);
}
public String[] getKontenliste() {
Collection<Konto> konten = bank.getKontenliste();
String[] liste = new String[konten.size()];
@ -42,6 +43,10 @@ public class Banksystem {
return liste;
}
public void kontoauszügeZeigen(int kontonummer) {
bank.kontoauszügeZeigen(kontonummer);
}
public String getBankname() {
return bank.getName();
}

View File

@ -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);
}
}

View File

@ -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");
}
}
}