Kontoauszüge per Klasse + Datenbank Anfang

main
User 2022-10-18 14:44:21 +02:00
parent 55f476f77a
commit 0063deb069
4 changed files with 57 additions and 13 deletions

View File

@ -1,9 +1,10 @@
package de.hs_mannheim.informatik.bank.domain; package de.hs_mannheim.informatik.bank.domain;
import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
public class Bank { public class Bank implements Serializable {
private String name; private String name;
private HashMap<Integer, Konto> konten = new HashMap<>(); private HashMap<Integer, Konto> konten = new HashMap<>();

View File

@ -1,7 +1,6 @@
package de.hs_mannheim.informatik.bank.domain; package de.hs_mannheim.informatik.bank.domain;
import java.time.LocalDateTime; import java.util.ArrayList;
import java.util.HashMap;
public class Konto { public class Konto {
private static int kontozähler = 0; private static int kontozähler = 0;
@ -9,13 +8,11 @@ public class Konto {
private int nummer; private int nummer;
private long stand = 0; private long stand = 0;
private String inhaber; private String inhaber;
private HashMap<Integer, String> kontoauszüge = new HashMap<>(); private ArrayList<Kontobewegung> auszüge = new ArrayList<>();
private int transaktionsCounter = 0;
public Konto(String inhaber) { public Konto(String inhaber) {
nummer = 1000 + kontozähler++; nummer = 1000 + kontozähler++;
this.inhaber = inhaber; this.inhaber = inhaber;
kontoauszüge.put(transaktionsCounter++, "Konto wurde am " + LocalDateTime.now() + "eröffnet");
} }
public int getKontonummer() { public int getKontonummer() {
@ -24,21 +21,19 @@ public class Konto {
public void einzahlen(long betrag) { public void einzahlen(long betrag) {
stand += betrag; stand += betrag;
kontoauszüge.put(transaktionsCounter++, auszüge.add(new Kontobewegung(betrag, inhaber, "eingezahlt"));
LocalDateTime.now() + " Betrag " + betrag + " wurde auf Konto " + nummer + " eingezahlt");
} }
public void auszahlen(long betrag) { public void auszahlen(long betrag) {
if (betrag <= stand) { if (betrag <= stand) {
stand -= betrag; stand -= betrag;
kontoauszüge.put(transaktionsCounter++, auszüge.add(new Kontobewegung(betrag, inhaber, "abgehoben"));
LocalDateTime.now() + " Betrag " + betrag + " wurde von Konto " + nummer + " abgehoben");
} else } else
System.out.println("Kontostand nicht aureichend"); System.out.println("Kontostand nicht aureichend");
} }
public HashMap<Integer, String> getKontoauszüge(){ public ArrayList<Kontobewegung> getKontoauszüge() {
return kontoauszüge; return auszüge;
} }
public long getKontostand() { public long getKontostand() {

View File

@ -0,0 +1,23 @@
package de.hs_mannheim.informatik.bank.domain;
import java.time.LocalDateTime;
public class Kontobewegung {
private long betrag;
private String inhaber;
private LocalDateTime datum;
private String art;
public Kontobewegung(long betrag, String inhaber, String art) {
this.betrag = betrag;
this.inhaber = inhaber;
this.art = art;
datum = LocalDateTime.now();
}
@Override
public String toString() {
return "Betrag " + betrag + " wurde am " + datum + " " + art;
}
}

View File

@ -0,0 +1,25 @@
//package de.mannheim.informatik.bank.perstance;
//
//import de.hs_mannheim.informatik.bank.domain.Bank;
//
//import java.io.*;
//
//public class Datenbank {
// File f = new File("Bank.ser");
//
//
// public void speichern(Bank bank) throws FileNotFoundException, IOException {
// ObjectOutputStream fileOut;
// fileOut = new ObjectOutputStream(new FileOutputStream(f));
// fileOut.writeObject(bank);
// }
//
// public void laden(Bank bank) throws FileNotFoundException, IOException {
// ObjectInputStream fileIn;
// fileIn = new ObjectInputStream(new FileInputStream(f));
//
//
//
//
// }
//}