Kontoauszüge schöner

master
Alper Kaya 2022-10-12 15:16:14 +02:00
parent f8f6acd8a3
commit 8a96bb63f5
4 changed files with 61 additions and 18 deletions

Binary file not shown.

View File

@ -8,6 +8,7 @@ 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;
@ -35,16 +36,28 @@ public class Konto implements Serializable {
return stand;
}
public static int getKontozaehler() {
return kontozaehler;
}
public String getInhaber() {
return inhaber;
}
public ArrayList<String> getBewegungen() {
return bewegungen;
}
public ArrayList<String> getDates() {
return dates;
}
public void setBewegungen(String bewegung) {
bewegungen.add(bewegung);
}
public static int getKontozaehler() {
return kontozaehler;
public void setDate(String datum) {
dates.add(datum);
}
public static void setKontozaehler(int zaehler) {

View File

@ -51,9 +51,11 @@ public class Banksystem {
// 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_aktuell + " (+)");
//DateTimeFormatter zeitformat = DateTimeFormatter.ofPattern("dd.MM.yyyy");
//LocalDateTime zeit = LocalDateTime.now();
String datum = getDatum(k);
k.setDate(datum);
return betrag_aktuell;
}
@ -61,6 +63,7 @@ public class Banksystem {
public String kontoAbheben(String betrag, int kontonr) {
// Komma hinzufügen oder nicht (Aus 10 wird 10.00)
betrag = betragMitKomma(betrag);
// Komma wird entfernt (10.00 wird zu 1000)
long betrag_long = Long.parseLong(betrag.replace(".", ""));
@ -69,10 +72,21 @@ public class Banksystem {
// Betrag mit 2 Nachkommastellen für den User anzeigen lassen
String betrag_aktuell = kontostandMitKomma(k);
k.setBewegungen(betrag_aktuell + " (-)");
//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) {
DateTimeFormatter zeitformat = DateTimeFormatter.ofPattern("dd.MM.yyyy");
LocalDateTime zeit = LocalDateTime.now();
return zeitformat.format(zeit);
}
private String betragMitKomma(String betrag) {
boolean komma = false;
// Schaut ob Betrag mit Komma (zB: 42.50)
@ -94,11 +108,6 @@ public class Banksystem {
return standKomma.toString();
}
public ArrayList<String> kontoAuszug(int kontonr) {
Konto k = bank.getKonto(kontonr);
return k.getBewegungen();
}
public void speichereKonten() throws FileNotFoundException, IOException {
ArrayList<Konto> konten = new ArrayList<Konto>(bank.getKontenliste());
ps.speichereKontodaten(konten);
@ -131,4 +140,19 @@ public class Banksystem {
public String getBankname() {
return bank.getName();
}
public ArrayList<String> getBewegungen(int kontonr) {
Konto k = bank.getKonto(kontonr);
return k.getBewegungen();
}
public ArrayList<String> getDates(int kontonr) {
Konto k = bank.getKonto(kontonr);
return k.getDates();
}
public String getInhaber(int kontonr) {
Konto k = bank.getKonto(kontonr);
return k.getInhaber();
}
}

View File

@ -53,7 +53,7 @@ public class UI {
private void kontenAnzeigen() {
String[] konten = bs.getKontenliste();
if (konten.length > 0) {
System.out.println("Folgende Konten sind aktuell verfügbar:");
System.out.println("Folgende Konten sind aktuell verfügbar:");
for (String s : konten) {
System.out.println(s);
}
@ -110,13 +110,19 @@ public class UI {
int kontonr = sc.nextInt();
sc.nextLine();
ArrayList<String> bewegungen = new ArrayList<String>();
bewegungen = bs.kontoAuszug(kontonr);
for (String bewegung: bewegungen) {
System.out.println(bewegung);
}
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("Aktueller Kontostand: " + bs.kontoStand(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();
}
System.out.println("\n-----------------------------------------------");
System.out.println("Aktueller Kontostand:\t\t\t" + bs.kontoStand(kontonr));
}
}