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(); 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) { public boolean überweise(Girokonto ziel, long betrag, String zweck) {
if (super.getKontostand() - betrag >= 0) { if (super.getKontostand() - betrag >= 0) {
this.zahleAus(betrag, this.getInhaber()); this.zahleAus2(betrag, this.getInhaber());
ziel.zahleEin(betrag, this.getInhaber()); ziel.zahleEin(betrag, this.getInhaber());
return true; 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; 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() { public int getKontonummer() {
return nummer; return nummer;
@ -48,7 +55,9 @@ public class Konto implements Serializable {
return stand; return stand;
} }
public long zahleAus2(long einzahlung, String auftraggeber) { public long zahleAus2(long einzahlung, String auftraggeber) {
stand -= einzahlung; stand -= einzahlung;
System.out.println(stand);
auszuge.add(new Kontoauszug(stand,einzahlung, auftraggeber)); auszuge.add(new Kontoauszug(stand,einzahlung, auftraggeber));
return stand; return stand;
} }

View File

@ -13,7 +13,6 @@ class KontoTest {
assertEquals(1000, k.getKontonummer()); assertEquals(1000, k.getKontonummer());
assertEquals(0, k.getKontostand()); assertEquals(0, k.getKontostand());
Konto k2 = new Konto("Mayer", 1); Konto k2 = new Konto("Mayer", 1);
assertEquals("Mayer", k2.getInhaber()); assertEquals("Mayer", k2.getInhaber());
assertNotEquals(k.getKontonummer(), k2.getKontonummer()); assertNotEquals(k.getKontonummer(), k2.getKontonummer());
@ -28,8 +27,16 @@ class KontoTest {
assertNotEquals(50, k2.getKontostand()); 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 + " | " return "Datum: " + date.toString() + " | Kontostand: " + kontostand + " | Betrag: "+ betrag + " | "
+ "Auftraggeber: " + auftraggeber; + "Auftraggeber: " + auftraggeber;
} }
public long getBetrag() {
return betrag;
}
} }

View File

@ -82,6 +82,7 @@ public class Banksystem implements Serializable {
public List<Kontoauszug> getAuszuge(Integer kontonummer) { public List<Kontoauszug> getAuszuge(Integer kontonummer) {
return bank.getAuszuge(kontonummer); return bank.getAuszuge(kontonummer);
} }
public boolean instanceOfGirokonto(int kontonummer) { public boolean instanceOfGirokonto(int kontonummer) {
Konto start = bank.existiertKonto2(kontonummer); Konto start = bank.existiertKonto2(kontonummer);
if(start instanceof Girokonto ) { if(start instanceof Girokonto ) {
@ -91,7 +92,11 @@ public class Banksystem implements Serializable {
return false; 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"; String name = "Peter";
int auswahl = 1; int auswahl = 1;
bs.kontoAnlegen(name, auswahl); bs.kontoAnlegen(name, auswahl);
assertNotEquals(bs.getKontenliste(), 0); assertNotEquals(0, bs.getKontenliste());
} }
@Test @Test
@ -36,7 +36,7 @@ class SystemTest {
long einzahlung = 500; long einzahlung = 500;
Konto k = new Konto ("Hans",1); Konto k = new Konto ("Hans",1);
bs.zahleEin(1000, einzahlung); bs.zahleEin(1000, einzahlung);
assertEquals(bs.getKontostand(1000), 500); assertEquals( 500, bs.getKontostand(1000));
} }
@Test @Test
@ -48,7 +48,7 @@ class SystemTest {
long einzahlung = 500; long einzahlung = 500;
bs.zahleEin(1000, einzahlung); bs.zahleEin(1000, einzahlung);
bs.zahleAus(1001, 400); 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.List;
import java.util.Scanner; 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.domain.Kontoauszug;
import de.hs_mannheim.informatik.bank.facade.Banksystem; import de.hs_mannheim.informatik.bank.facade.Banksystem;
@ -29,6 +30,7 @@ public class UI {
System.out.println("5 -> Kontostand anzeigen"); System.out.println("5 -> Kontostand anzeigen");
System.out.println("6 -> Kontoauszug anzeigen"); System.out.println("6 -> Kontoauszug anzeigen");
System.out.println("7 -> Überweisung beauftragen"); System.out.println("7 -> Überweisung beauftragen");
System.out.println("8 -> Saldo");
System.out.println("9 -> Beenden"); System.out.println("9 -> Beenden");
System.out.println(); System.out.println();
@ -63,6 +65,8 @@ public class UI {
break; break;
case 7 : überweisungBeauftragen();break; case 7 : überweisungBeauftragen();break;
case 8 : SaldoAnzeigen(); break;
case 9: case 9:
break mainloop; break mainloop;
default: default:
@ -145,7 +149,7 @@ public class UI {
// Abheben // Abheben
if(bs.instanceOfGirokonto(kontonummer)) { if(bs.instanceOfGirokonto(kontonummer)) {
bs.zahleAus2(kontonummer, betrag); 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; return;
} }
@ -176,6 +180,15 @@ public class UI {
System.out.println( System.out.println(
"Konto mit der Nummer " + kontonummer + " hat einen Kontostand von " + bs.getKontostand(kontonummer)); "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() { private void überweisungBeauftragen() {