mehtapilhan 2022-10-25 15:38:17 +02:00
parent 2eb756761b
commit 1dd6b356db
9 changed files with 68 additions and 13 deletions

View File

@ -92,4 +92,9 @@ public class Bank implements Serializable {
return konto.getAuszuge();
}
public long getSaldo(int kontonummer, int anzahl) {
Konto konto = konten.get(kontonummer);
return konto.getSaldo(anzahl);
}
}

View File

@ -10,7 +10,7 @@ public class Girokonto extends Konto implements Serializable {
public boolean überweise(Girokonto ziel, long betrag, String zweck) {
if (super.getKontostand() - betrag >= 0) {
this.zahleAus(betrag, this.getInhaber());
this.zahleAus2(betrag, this.getInhaber());
ziel.zahleEin(betrag, this.getInhaber());
return true;

View File

@ -42,8 +42,19 @@ class GirokontoTest {
}
@Test
void testÜberweisen() {
Girokonto g5 = new Girokonto("hans", 0);
Girokonto g6 = new Girokonto("Peter", 1);
g5.zahleEin(500, "Peter");
g5.überweise(g6, 500,"testen" );
System.out.println(g6.getKontostand());
assertEquals(500, g6.getKontostand());
}
}

View File

@ -19,6 +19,13 @@ public class Konto implements Serializable {
this.inhaber = inhaber;
}
public long getSaldo(int z) {
long saldo = 0;
for ( int x = 0 ; x < z; x++){
saldo += auszuge.get(z).getBetrag();
}
return saldo;
}
public int getKontonummer() {
return nummer;
@ -48,7 +55,9 @@ public class Konto implements Serializable {
return stand;
}
public long zahleAus2(long einzahlung, String auftraggeber) {
stand -= einzahlung;
System.out.println(stand);
auszuge.add(new Kontoauszug(stand,einzahlung, auftraggeber));
return stand;
}

View File

@ -13,7 +13,6 @@ class KontoTest {
assertEquals(1000, k.getKontonummer());
assertEquals(0, k.getKontostand());
Konto k2 = new Konto("Mayer", 1);
assertEquals("Mayer", k2.getInhaber());
assertNotEquals(k.getKontonummer(), k2.getKontonummer());
@ -28,8 +27,16 @@ class KontoTest {
assertNotEquals(50, k2.getKontostand());
}
@Test
void testSaldo() {
Konto k = new Konto("Meier",1);
Konto k2 = new Konto("franz",2);
k.zahleEin(100, "Meier");
k.zahleEin(100, "Meier");
k.zahleEin(100, "Meier");
assertEquals(k.getSaldo(1), 100);
assertEquals(k.getSaldo(2),200);
}
}

View File

@ -21,4 +21,9 @@ public class Kontoauszug implements Serializable {
return "Datum: " + date.toString() + " | Kontostand: " + kontostand + " | Betrag: "+ betrag + " | "
+ "Auftraggeber: " + auftraggeber;
}
public long getBetrag() {
return betrag;
}
}

View File

@ -82,6 +82,7 @@ public class Banksystem implements Serializable {
public List<Kontoauszug> getAuszuge(Integer kontonummer) {
return bank.getAuszuge(kontonummer);
}
public boolean instanceOfGirokonto(int kontonummer) {
Konto start = bank.existiertKonto2(kontonummer);
if(start instanceof Girokonto ) {
@ -91,7 +92,11 @@ public class Banksystem implements Serializable {
return false;
}
public long getSaldo(int kontonummer, int anzahl) {
return bank.getSaldo(kontonummer, anzahl);
}

View File

@ -26,7 +26,7 @@ class SystemTest {
String name = "Peter";
int auswahl = 1;
bs.kontoAnlegen(name, auswahl);
assertNotEquals(bs.getKontenliste(), 0);
assertNotEquals(0, bs.getKontenliste());
}
@Test
@ -36,7 +36,7 @@ class SystemTest {
long einzahlung = 500;
Konto k = new Konto ("Hans",1);
bs.zahleEin(1000, einzahlung);
assertEquals(bs.getKontostand(1000), 500);
assertEquals( 500, bs.getKontostand(1000));
}
@Test
@ -48,7 +48,7 @@ class SystemTest {
long einzahlung = 500;
bs.zahleEin(1000, einzahlung);
bs.zahleAus(1001, 400);
assertEquals(bs.getKontostand(1000), 100);
assertEquals(100, bs.getKontostand(1000));
}
}

View File

@ -3,6 +3,7 @@ package de.hs_mannheim.informatik.bank.ui;
import java.util.List;
import java.util.Scanner;
import de.hs_mannheim.informatik.bank.domain.Konto;
import de.hs_mannheim.informatik.bank.domain.Kontoauszug;
import de.hs_mannheim.informatik.bank.facade.Banksystem;
@ -29,6 +30,7 @@ public class UI {
System.out.println("5 -> Kontostand anzeigen");
System.out.println("6 -> Kontoauszug anzeigen");
System.out.println("7 -> Überweisung beauftragen");
System.out.println("8 -> Saldo");
System.out.println("9 -> Beenden");
System.out.println();
@ -63,6 +65,8 @@ public class UI {
break;
case 7 : überweisungBeauftragen();break;
case 8 : SaldoAnzeigen(); break;
case 9:
break mainloop;
default:
@ -145,7 +149,7 @@ public class UI {
// Abheben
if(bs.instanceOfGirokonto(kontonummer)) {
bs.zahleAus2(kontonummer, betrag);
System.out.println("Sie haben ihr konto Überzogen "+(bs.getKontostand(1000)-betrag)+" Euro");
System.out.println("Sie haben ihr konto Überzogen "+(bs.getKontostand(1000))+" Euro");
return;
}
@ -176,6 +180,15 @@ public class UI {
System.out.println(
"Konto mit der Nummer " + kontonummer + " hat einen Kontostand von " + bs.getKontostand(kontonummer));
}
private void SaldoAnzeigen() {
System.out.println("Bitte die Kontonummer angeben: ");
Integer kontonummer = sc.nextInt();
System.out.println("Welche Anzahl wollen Sie sehen?");
Integer anzahl = sc.nextInt();
System.out.println(bs.getSaldo(kontonummer, anzahl));
}
private void überweisungBeauftragen() {