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 { public class Konto implements Serializable {
private static int kontozaehler = 0; private static int kontozaehler = 0;
private ArrayList<String> bewegungen = new ArrayList<String>(); private ArrayList<String> bewegungen = new ArrayList<String>();
private ArrayList<String> dates = new ArrayList<String>();
private int nummer; private int nummer;
private long stand = 0; private long stand = 0;
private String inhaber; private String inhaber;
@ -35,16 +36,28 @@ public class Konto implements Serializable {
return stand; return stand;
} }
public static int getKontozaehler() {
return kontozaehler;
}
public String getInhaber() {
return inhaber;
}
public ArrayList<String> getBewegungen() { public ArrayList<String> getBewegungen() {
return bewegungen; return bewegungen;
} }
public ArrayList<String> getDates() {
return dates;
}
public void setBewegungen(String bewegung) { public void setBewegungen(String bewegung) {
bewegungen.add(bewegung); bewegungen.add(bewegung);
} }
public static int getKontozaehler() { public void setDate(String datum) {
return kontozaehler; dates.add(datum);
} }
public static void setKontozaehler(int zaehler) { 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 // Betrag mit 2 Nachkommastellen für den User anzeigen lassen
String betrag_aktuell = kontostandMitKomma(k); String betrag_aktuell = kontostandMitKomma(k);
//Daten für Kontobewegung und Datum für Kontoauszug übergeben
k.setBewegungen(betrag_aktuell + " (+)"); k.setBewegungen(betrag_aktuell + " (+)");
//DateTimeFormatter zeitformat = DateTimeFormatter.ofPattern("dd.MM.yyyy"); String datum = getDatum(k);
//LocalDateTime zeit = LocalDateTime.now(); k.setDate(datum);
return betrag_aktuell; return betrag_aktuell;
} }
@ -61,6 +63,7 @@ public class Banksystem {
public String kontoAbheben(String betrag, int kontonr) { public String kontoAbheben(String betrag, int kontonr) {
// Komma hinzufügen oder nicht (Aus 10 wird 10.00) // Komma hinzufügen oder nicht (Aus 10 wird 10.00)
betrag = betragMitKomma(betrag); betrag = betragMitKomma(betrag);
// Komma wird entfernt (10.00 wird zu 1000) // Komma wird entfernt (10.00 wird zu 1000)
long betrag_long = Long.parseLong(betrag.replace(".", "")); long betrag_long = Long.parseLong(betrag.replace(".", ""));
@ -69,10 +72,21 @@ public class Banksystem {
// Betrag mit 2 Nachkommastellen für den User anzeigen lassen // Betrag mit 2 Nachkommastellen für den User anzeigen lassen
String betrag_aktuell = kontostandMitKomma(k); 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; 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) { private String betragMitKomma(String betrag) {
boolean komma = false; boolean komma = false;
// Schaut ob Betrag mit Komma (zB: 42.50) // Schaut ob Betrag mit Komma (zB: 42.50)
@ -94,11 +108,6 @@ public class Banksystem {
return standKomma.toString(); return standKomma.toString();
} }
public ArrayList<String> kontoAuszug(int kontonr) {
Konto k = bank.getKonto(kontonr);
return k.getBewegungen();
}
public void speichereKonten() throws FileNotFoundException, IOException { public void speichereKonten() throws FileNotFoundException, IOException {
ArrayList<Konto> konten = new ArrayList<Konto>(bank.getKontenliste()); ArrayList<Konto> konten = new ArrayList<Konto>(bank.getKontenliste());
ps.speichereKontodaten(konten); ps.speichereKontodaten(konten);
@ -131,4 +140,19 @@ public class Banksystem {
public String getBankname() { public String getBankname() {
return bank.getName(); 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() { private void kontenAnzeigen() {
String[] konten = bs.getKontenliste(); String[] konten = bs.getKontenliste();
if (konten.length > 0) { 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) { for (String s : konten) {
System.out.println(s); System.out.println(s);
} }
@ -110,13 +110,19 @@ public class UI {
int kontonr = sc.nextInt(); int kontonr = sc.nextInt();
sc.nextLine(); sc.nextLine();
ArrayList<String> bewegungen = new ArrayList<String>(); ArrayList<String> bewegungen = new ArrayList<String>(bs.getBewegungen(kontonr));
bewegungen = bs.kontoAuszug(kontonr); ArrayList<String> dates = new ArrayList<String>(bs.getDates(kontonr));
for (String bewegung: bewegungen) { String inhaber = bs.getInhaber(kontonr);
System.out.println(bewegung);
}
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));
} }
} }