generated from hummel/Bank-System
Kontobewegungen aktualisiert
parent
4741398923
commit
d08cc39343
Binary file not shown.
|
@ -7,24 +7,27 @@ import de.hs_mannheim.informatik.bank.persistence.PersistenceService;
|
|||
|
||||
public class Konto implements Serializable {
|
||||
private static int kontozaehler = 0;
|
||||
private ArrayList<String> bewegungen = new ArrayList<String>();
|
||||
private ArrayList<String> dates = new ArrayList<String>();
|
||||
private int nummer;
|
||||
private long stand = 0;
|
||||
private String inhaber;
|
||||
|
||||
private ArrayList<Kontobewegung> kontobewegungen;
|
||||
|
||||
public Konto(String inhaber) {
|
||||
nummer = 1000 + kontozaehler++;
|
||||
this.inhaber = inhaber;
|
||||
this.kontobewegungen = new ArrayList<>();
|
||||
}
|
||||
|
||||
public long kontoEinzahlen(Konto k, long betrag) {
|
||||
public long kontoEinzahlen(Konto k, long betrag, String datum, String zweck, String art, String auftraggeber) {
|
||||
k.stand = k.stand + betrag;
|
||||
kontobewegungen.add(new Kontobewegung(betrag, datum, zweck, art, auftraggeber));
|
||||
return k.stand;
|
||||
}
|
||||
|
||||
public long kontoAbheben(Konto k, long betrag) {
|
||||
public long kontoAbheben(Konto k, long betrag, String datum, String zweck, String art, String auftraggeber) {
|
||||
k.stand = k.stand - betrag;
|
||||
kontobewegungen.add(new Kontobewegung(betrag, datum, zweck, art, auftraggeber));
|
||||
return k.stand;
|
||||
}
|
||||
|
||||
|
@ -44,20 +47,12 @@ public class Konto implements Serializable {
|
|||
return inhaber;
|
||||
}
|
||||
|
||||
public ArrayList<String> getBewegungen() {
|
||||
return bewegungen;
|
||||
public String[] getKontobewegungen() {
|
||||
String[] liste = new String[kontobewegungen.size()];
|
||||
for (int i = 0; i < kontobewegungen.size(); i++) {
|
||||
liste[i] = kontobewegungen.get(i).toString();
|
||||
}
|
||||
|
||||
public ArrayList<String> getDates() {
|
||||
return dates;
|
||||
}
|
||||
|
||||
public void setBewegungen(String bewegung) {
|
||||
bewegungen.add(bewegung);
|
||||
}
|
||||
|
||||
public void setDate(String datum) {
|
||||
dates.add(datum);
|
||||
return liste;
|
||||
}
|
||||
|
||||
public static void setKontozaehler(int zaehler) {
|
||||
|
|
|
@ -18,7 +18,7 @@ class KontoTest {
|
|||
Collection<Konto> konten = bank.getKontenliste();
|
||||
assertEquals(7 , Konto.getKontozaehler());
|
||||
}
|
||||
|
||||
/*
|
||||
@Test
|
||||
void kontoEinzahlenTest() {
|
||||
Konto k1 = new Konto("User1");
|
||||
|
@ -32,7 +32,7 @@ class KontoTest {
|
|||
k2.kontoEinzahlen(k2, 100);
|
||||
assertEquals(50, k2.kontoAbheben(k2, 50));
|
||||
}
|
||||
|
||||
*/
|
||||
@Test
|
||||
@Order(2)
|
||||
void kontoNummerGenerierungTest() {
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
package de.hs_mannheim.informatik.bank.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public class Kontobewegung implements Serializable{
|
||||
private String betrag;
|
||||
private String datum;
|
||||
private String zweck;
|
||||
private String art;
|
||||
private String auftraggeber;
|
||||
|
||||
public Kontobewegung(long betrag, String datum, String zweck, String art, String auftraggeber) {
|
||||
this.betrag = betragMitKomma(betrag);
|
||||
this.datum = datum;
|
||||
this.zweck = zweck;
|
||||
this.art = art;
|
||||
this.auftraggeber = auftraggeber;
|
||||
}
|
||||
|
||||
private String betragMitKomma(long betrag) {
|
||||
StringBuilder standKomma = new StringBuilder(Long.toString(betrag));
|
||||
int posKomma = standKomma.length()-2;
|
||||
standKomma = standKomma.insert(posKomma, '.');
|
||||
|
||||
return standKomma.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return datum + "\t" + auftraggeber + "\t\t" + zweck + "\t " + betrag + "€\t\t" + art;
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
package de.hs_mannheim.informatik.bank.domain;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Kontobewegungen {
|
||||
|
||||
}
|
|
@ -47,16 +47,12 @@ public class Banksystem {
|
|||
long betrag_long = Long.parseLong(betrag.replace(".", ""));
|
||||
|
||||
Konto k = bank.getKonto(kontonr);
|
||||
k.kontoEinzahlen(k, betrag_long);
|
||||
String datum = getDatum();
|
||||
k.kontoEinzahlen(k, betrag_long, datum, "Einzahlung am Schalter", "(+)", k.getInhaber());
|
||||
|
||||
// Betrag mit 2 Nachkommastellen für den User anzeigen lassen
|
||||
String betrag_aktuell = kontostandMitKomma(k);
|
||||
|
||||
//Daten für Kontobewegung und Datum für Kontoauszug übergeben
|
||||
k.setBewegungen(betrag + " (+)");
|
||||
String datum = getDatum(k);
|
||||
k.setDate(datum);
|
||||
|
||||
return betrag_aktuell;
|
||||
}
|
||||
|
||||
|
@ -68,20 +64,16 @@ public class Banksystem {
|
|||
long betrag_long = Long.parseLong(betrag.replace(".", ""));
|
||||
|
||||
Konto k = bank.getKonto(kontonr);
|
||||
k.kontoAbheben(k, betrag_long);
|
||||
String datum = getDatum();
|
||||
k.kontoAbheben(k, betrag_long, datum, "Auszahlung am Schalter", "(-)", k.getInhaber());
|
||||
|
||||
// Betrag mit 2 Nachkommastellen für den User anzeigen lassen
|
||||
String betrag_aktuell = kontostandMitKomma(k);
|
||||
|
||||
//Daten für Kontobewegung und Datum für Kontoauszug übergeben
|
||||
k.setBewegungen(betrag + " (-)");
|
||||
String datum = getDatum(k);
|
||||
k.setDate(datum);
|
||||
|
||||
return betrag_aktuell;
|
||||
}
|
||||
|
||||
private String getDatum(Konto k) {
|
||||
public String getDatum() {
|
||||
DateTimeFormatter zeitformat = DateTimeFormatter.ofPattern("dd.MM.yyyy");
|
||||
LocalDateTime zeit = LocalDateTime.now();
|
||||
return zeitformat.format(zeit);
|
||||
|
@ -141,14 +133,9 @@ public class Banksystem {
|
|||
return bank.getName();
|
||||
}
|
||||
|
||||
public ArrayList<String> getBewegungen(int kontonr) {
|
||||
public String[] getKontoauszug(int kontonr) {
|
||||
Konto k = bank.getKonto(kontonr);
|
||||
return k.getBewegungen();
|
||||
}
|
||||
|
||||
public ArrayList<String> getDates(int kontonr) {
|
||||
Konto k = bank.getKonto(kontonr);
|
||||
return k.getDates();
|
||||
return k.getKontobewegungen();
|
||||
}
|
||||
|
||||
public String getInhaber(int kontonr) {
|
||||
|
|
|
@ -109,20 +109,19 @@ public class UI {
|
|||
System.out.println("Kontonummer: ");
|
||||
int kontonr = sc.nextInt();
|
||||
sc.nextLine();
|
||||
String[] kontobewegungen = bs.getKontoauszug(kontonr);
|
||||
|
||||
ArrayList<String> bewegungen = new ArrayList<String>(bs.getBewegungen(kontonr));
|
||||
ArrayList<String> dates = new ArrayList<String>(bs.getDates(kontonr));
|
||||
String inhaber = bs.getInhaber(kontonr);
|
||||
|
||||
System.out.println("-----------------------------------------------");
|
||||
System.out.println("Datum:\t\tInhaber:\t\tBetrag:");
|
||||
System.out.println();
|
||||
for (int i=0; i<bewegungen.size();i++) {
|
||||
System.out.printf("%s\t%s\t\t\t%s", dates.get(i), inhaber, bewegungen.get(i));
|
||||
System.out.println("Kontoauszug vom " + bs.getDatum() + " für Konto: " + kontonr);
|
||||
System.out.println("-----------------------------------------------------------------------");
|
||||
System.out.println("Datum:\t\tInhaber:\tZweck:\t\t\t Betrag:");
|
||||
System.out.println();
|
||||
for (String kb: kontobewegungen) {
|
||||
System.out.println(kb);
|
||||
}
|
||||
System.out.println("\n-----------------------------------------------");
|
||||
System.out.println("Aktueller Kontostand:\t\t\t" + bs.kontoStand(kontonr));
|
||||
System.out.println();
|
||||
System.out.println("-----------------------------------------------------------------------");
|
||||
System.out.println("Aktueller Kontostand:\t\t\t\t\t " + bs.kontoStand(kontonr) + "€");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue