From 0063deb069d9ec0142b809cb4f3397101ec3a2d4 Mon Sep 17 00:00:00 2001 From: User Date: Tue, 18 Oct 2022 14:44:21 +0200 Subject: [PATCH] =?UTF-8?q?Kontoausz=C3=BCge=20per=20Klasse=20+=20Datenban?= =?UTF-8?q?k=20Anfang?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../informatik/bank/domain/Bank.java | 3 ++- .../informatik/bank/domain/Konto.java | 19 ++++++-------- .../informatik/bank/domain/Kontobewegung.java | 23 +++++++++++++++++ .../informatik/bank/perstance/Datenbank.java | 25 +++++++++++++++++++ 4 files changed, 57 insertions(+), 13 deletions(-) create mode 100644 Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontobewegung.java create mode 100644 Bank-Beispiel/src/de/mannheim/informatik/bank/perstance/Datenbank.java diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java index 2ca8c8d..3decef8 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java @@ -1,9 +1,10 @@ package de.hs_mannheim.informatik.bank.domain; +import java.io.Serializable; import java.util.Collection; import java.util.HashMap; -public class Bank { +public class Bank implements Serializable { private String name; private HashMap konten = new HashMap<>(); diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java index 6d32861..8f6af77 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java @@ -1,7 +1,6 @@ package de.hs_mannheim.informatik.bank.domain; -import java.time.LocalDateTime; -import java.util.HashMap; +import java.util.ArrayList; public class Konto { private static int kontozähler = 0; @@ -9,13 +8,11 @@ public class Konto { private int nummer; private long stand = 0; private String inhaber; - private HashMap kontoauszüge = new HashMap<>(); - private int transaktionsCounter = 0; + private ArrayList auszüge = new ArrayList<>(); public Konto(String inhaber) { nummer = 1000 + kontozähler++; this.inhaber = inhaber; - kontoauszüge.put(transaktionsCounter++, "Konto wurde am " + LocalDateTime.now() + "eröffnet"); } public int getKontonummer() { @@ -24,21 +21,19 @@ public class Konto { public void einzahlen(long betrag) { stand += betrag; - kontoauszüge.put(transaktionsCounter++, - LocalDateTime.now() + " Betrag " + betrag + " wurde auf Konto " + nummer + " eingezahlt"); + auszüge.add(new Kontobewegung(betrag, inhaber, "eingezahlt")); } public void auszahlen(long betrag) { if (betrag <= stand) { stand -= betrag; - kontoauszüge.put(transaktionsCounter++, - LocalDateTime.now() + " Betrag " + betrag + " wurde von Konto " + nummer + " abgehoben"); + auszüge.add(new Kontobewegung(betrag, inhaber, "abgehoben")); } else System.out.println("Kontostand nicht aureichend"); } - - public HashMap getKontoauszüge(){ - return kontoauszüge; + + public ArrayList getKontoauszüge() { + return auszüge; } public long getKontostand() { diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontobewegung.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontobewegung.java new file mode 100644 index 0000000..e7371d0 --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontobewegung.java @@ -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; + } +} diff --git a/Bank-Beispiel/src/de/mannheim/informatik/bank/perstance/Datenbank.java b/Bank-Beispiel/src/de/mannheim/informatik/bank/perstance/Datenbank.java new file mode 100644 index 0000000..86e1098 --- /dev/null +++ b/Bank-Beispiel/src/de/mannheim/informatik/bank/perstance/Datenbank.java @@ -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)); +// +// +// +// +// } +//}