From 301e12ade5f54f169418a86d21276e34b49f15bb Mon Sep 17 00:00:00 2001 From: Marc Ziegler Date: Tue, 11 Oct 2022 14:43:49 +0200 Subject: [PATCH] =?UTF-8?q?Speicher=20Funktion=20hinzugef=C3=BCgt.=20S?= =?UTF-8?q?=C3=A4mtliche=20Sachen=20mit=20der=20speicherung=20befinden=20s?= =?UTF-8?q?ich=20in=20der=20Datenbank=20Klasse.=20Gespeichert=20wird=20die?= =?UTF-8?q?=20bank=20Klasse?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bank-Beispiel/src/New FC.fcp | 50 +++++++++--------- .../de/hs_mannheim/informatik/bank/Main.java | 2 +- .../informatik/bank/domain/Aktivität.java | 3 +- .../informatik/bank/domain/Bank.java | 9 +++- .../informatik/bank/domain/Datenbank.java | 51 +++++++++++++++++++ .../informatik/bank/domain/Konto.java | 6 ++- .../informatik/bank/domain/Kontoauszug.java | 3 +- .../informatik/bank/facade/Banksystem.java | 9 ++++ .../de/hs_mannheim/informatik/bank/ui/UI.java | 15 +++--- 9 files changed, 110 insertions(+), 38 deletions(-) create mode 100644 Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Datenbank.java diff --git a/Bank-Beispiel/src/New FC.fcp b/Bank-Beispiel/src/New FC.fcp index a7e8e31..2673356 100644 --- a/Bank-Beispiel/src/New FC.fcp +++ b/Bank-Beispiel/src/New FC.fcp @@ -921,7 +921,7 @@ - 4a01937a48c7470e8ac02c06e117a9aa + 810c924b577246088ff7a60dda51425b 5d0581b78aed4ee8b0bf6527c2681a23 4e970de88c214cf0b3635042b9e226fb @@ -988,7 +988,7 @@ 1 - c51fb013ad584315a19eec9cf7701b9c + c56a5392fdcb4cb99bde4b0b7aca7069 4e970de88c214cf0b3635042b9e226fb 1c6ab24e7855452dbfd83e71bee81fdf @@ -1055,7 +1055,7 @@ 1 - cd3ec870da1442d1902aa323aba0a6ee + a5e37ca5b6574a1ba47d13b50483c249 1c6ab24e7855452dbfd83e71bee81fdf a32ed2170b0d45968a4723b3a4f7e540 @@ -1122,7 +1122,7 @@ 1 - aea20ea33bec424daf77ab0141d4c9cc + 7a5dc86d6db2441cad85c4f6836ea3ff 607ea9ee4a994d45bafe757014698907 b49af04e608549c89ac919c9d3e57c01 @@ -1189,7 +1189,7 @@ 1 - 92905a126e024a379bbff7451f53adcd + edf473f522ab4420b4518d563f340bbf a838e00032384ba2ab7988a1b0c7240e 6ef27b03d235471db3d6ff4e8d96a5f2 Daten der aktion @@ -1256,7 +1256,7 @@ 1 - 4d4f59cc79824433bf361a800ba1335a + e576b55981274419bf009ad25e69cbb1 6ef27b03d235471db3d6ff4e8d96a5f2 37eedc119a2c4e998b2254b25f4e7f87 Abheben @@ -1323,7 +1323,7 @@ 1 - 5fd85cbf87274fe0bfa164493d1327fa + 80fab382ef394d209427522726f56358 6ef27b03d235471db3d6ff4e8d96a5f2 37eedc119a2c4e998b2254b25f4e7f87 Ãœberweißung/einzug @@ -1390,7 +1390,7 @@ 1 - eab38d6157d340be99046817cfbe8263 + 89c35f7ec6da4cb2ab3aa0a140072ad2 37eedc119a2c4e998b2254b25f4e7f87 607ea9ee4a994d45bafe757014698907 @@ -1457,7 +1457,7 @@ 1 - 9543ce518fd3411280e68fe2231e1e08 + 0453fd09b0fe487f9cf3269c33fe18b7 b49af04e608549c89ac919c9d3e57c01 1c6ab24e7855452dbfd83e71bee81fdf @@ -1524,7 +1524,7 @@ 1 - 774c8acce1b94a73a915c4a4dd47d0bc + e75c504c385444ba85fb92fb362bdef3 a32ed2170b0d45968a4723b3a4f7e540 a838e00032384ba2ab7988a1b0c7240e neue Aktivität festhalten @@ -1591,7 +1591,7 @@ 1 - cccf5b43d66b442a99958413ea6095bc + 5b71a30b2b364ae7a464e252824f58f2 a32ed2170b0d45968a4723b3a4f7e540 8e72f22161d94eeea283c0df0c41e557 Kontoauszugdrucken @@ -1658,7 +1658,7 @@ 1 - c705a8a820ef490ca4e5251f196b6829 + b57dcdd387e84c869c1675485086ab9d ffe8f01d912b4433830bce278888e1ee 4fb53b4ee2304dc595ee36f22f68e83f @@ -1725,7 +1725,7 @@ 1 - f927102877f7410d930d263370ac336c + 5ee5579d6b784c4ca65effaf481c812b 4fb53b4ee2304dc595ee36f22f68e83f 610af0ac1b64468eb7db7c08b4503a4d @@ -1788,7 +1788,7 @@ 1 - e3920325cecc441996e46d25cff4e5a1 + 4af87af85f6a49f18470d308b24f2ec0 8e72f22161d94eeea283c0df0c41e557 d9ae231714074ef49b2560269b4e7405 keine neuen Einträge @@ -1855,7 +1855,7 @@ 1 - 92bde730fc44488382d00388dc9569a8 + 7b14420f07884668ababa8d2a79f6f5c 8e72f22161d94eeea283c0df0c41e557 ffe8f01d912b4433830bce278888e1ee neue Einträge @@ -1922,7 +1922,7 @@ 1 - 86f594cd861146a3bcfb9b686360c5ec + 79722d87c9ea4d79a58ceeaac9168f6f d9ae231714074ef49b2560269b4e7405 610af0ac1b64468eb7db7c08b4503a4d @@ -1989,7 +1989,7 @@ 1 - ae1e79a26260481883efe9d7568f8af7 + 9e30629330e948838c8768991174bfe7 610af0ac1b64468eb7db7c08b4503a4d 1c6ab24e7855452dbfd83e71bee81fdf @@ -2482,7 +2482,7 @@ - fd14c93bc14141f99d623acda6e674f0 + 4631c244b7214707ae3893c33baa169e 672224f278704a4381e48874f64f1725 bea34833ed394b3c9302e5841fb58c3b 1* @@ -2920,7 +2920,7 @@ - 3a902849417a4ab781b16dda67233f15 + 951911c5ef1f41b9ba3e3adc53bf3373 5c182728429a45fb83b5769df4d6b599 747c149e0b294a9d806e98de4399660d hinzufügen() @@ -2987,7 +2987,7 @@ 1 - be3e6b32e68b4f78b9def6e3b8b43029 + c6640d786f794031a1beb04316ea5dd9 5c182728429a45fb83b5769df4d6b599 747c149e0b294a9d806e98de4399660d delete @@ -3054,7 +3054,7 @@ 1 - b52978927a0043298046cdf53d3b2326 + 52141e978c9b42b595c9a5a166e6070c 5c182728429a45fb83b5769df4d6b599 ddd3bc6f429440deaae5fc26418736c5 Ausgabe():String @@ -3121,7 +3121,7 @@ 1 - 7bd257e3336a4cdc8fa28b389d8b1964 + 217e0a84ec0a4949ab4d34c6fd3ceb66 ddd3bc6f429440deaae5fc26418736c5 5c182728429a45fb83b5769df4d6b599 erstellen eines neuen kontos @@ -3188,7 +3188,7 @@ 1 - 9028a896f4504945b0d0493a38b3d813 + 18ccf5617f644dfd925b1c0a0a7db8e2 ddd3bc6f429440deaae5fc26418736c5 5c182728429a45fb83b5769df4d6b599 delete():void @@ -3255,7 +3255,7 @@ 1 - 2b557de40a8f45f4b4fd3b29d147ef5a + 58b8bdeeeeee4e5e823167cba046cfd1 ddd3bc6f429440deaae5fc26418736c5 5c182728429a45fb83b5769df4d6b599 hinzufügen()void @@ -3322,7 +3322,7 @@ 1 - 3a82ef0b8f5c4298ac882cb7b5b17a82 + a09de176aedf4cdf88e454f1cfea734b 747c149e0b294a9d806e98de4399660d 5c182728429a45fb83b5769df4d6b599 Ausgeben():String diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java index 9fafdd1..2c1f5f7 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java @@ -5,7 +5,7 @@ import de.hs_mannheim.informatik.bank.ui.UI; public class Main { - public static void main(String[] args) { + public static void main(String[] args) throws Exception { Banksystem bs = new Banksystem("Spaßkasse Mannheim"); UI ui = new UI(bs); } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Aktivität.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Aktivität.java index ce85d1e..685fa7b 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Aktivität.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Aktivität.java @@ -1,10 +1,11 @@ package de.hs_mannheim.informatik.bank.domain; +import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.GregorianCalendar; -public class Aktivität { +public class Aktivität implements Serializable{ private String Datum; private String Ort; private int Empfänger; 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 a73444c..4a3c732 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 @@ -2,9 +2,9 @@ package de.hs_mannheim.informatik.bank.domain; import java.util.Collection; import java.util.HashMap; +import java.io.Serializable; - -public class Bank { +public class Bank implements Serializable{ private String name; private HashMap konten = new HashMap<>(); @@ -22,15 +22,19 @@ public class Bank { public Collection getKontenliste() { return konten.values(); + } public long getKontostand(int Kontonummer) { return konten.get(Kontonummer).getStand(); + } public long GeldEinzahlen(int Kontonummer,double Betrag) { return konten.get(Kontonummer).Einzahlen(Betrag); + } public long Überweißen(int Kontonummer,double Betrag) { return konten.get(Kontonummer).neueÜberweisung(Betrag, Kontonummer); + } public void kontoAuszugerstellen(int Kontonummer) { konten.get(Kontonummer).kontoAuszugerstellen(); @@ -41,6 +45,7 @@ public class Bank { } public long abheben(int kontonummer,double Menge) { return konten.get(kontonummer).abbuchen(Menge); + } } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Datenbank.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Datenbank.java new file mode 100644 index 0000000..8604db0 --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Datenbank.java @@ -0,0 +1,51 @@ +package de.hs_mannheim.informatik.bank.domain; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.ObjectOutputStream; +import java.util.HashMap; +import java.io.IOException; +import java.io.ObjectInputStream; + +import de.hs_mannheim.informatik.bank.facade.Banksystem; + +public class Datenbank { + File fp=new File("object.ser"); + ObjectOutputStream file; + + + public void Speichern(Bank bank) throws Exception{ + + file=new ObjectOutputStream(new FileOutputStream(fp)); + file.writeObject(bank); + + } + public Bank Laden() throws Exception{ + if(fp.exists()) { + ObjectInputStream file=new ObjectInputStream(new FileInputStream(fp)); + Bank object=(Bank)file.readObject(); + return object; + } + return null; + } +// public boolean fileExcists() { +// if(!fl.exists()) { +// try { +// boolean wurdeerstellt=fl.createNewFile(); +// if(wurdeerstellt) { +// return true; +// } +// else { +// return false; +// } +// }catch(IOException ex) { +// ex.printStackTrace(); +// return false; +// } +// +// } +// return true; +// } +} 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 ba29243..dbbb34b 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,6 +1,8 @@ package de.hs_mannheim.informatik.bank.domain; -public class Konto { +import java.io.Serializable; + +public class Konto implements Serializable{ private static int kontozähler = 0; private int nummer; @@ -11,7 +13,7 @@ public class Konto { public Konto(String inhaber) { nummer = 1000 + kontozähler++; this.inhaber = inhaber; - //Kontoauszug KA=new Kontoauszug(); + Kontoauszug KA=new Kontoauszug(); } public int getKontonummer() { diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoauszug.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoauszug.java index 304fb25..07f6a81 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoauszug.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoauszug.java @@ -1,8 +1,9 @@ package de.hs_mannheim.informatik.bank.domain; +import java.io.Serializable; import java.util.ArrayList; -public class Kontoauszug { +public class Kontoauszug implements Serializable{ private ArrayList Historie=new ArrayList(); diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java index 1f99fbc..a688bf0 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java @@ -3,10 +3,12 @@ package de.hs_mannheim.informatik.bank.facade; import java.util.Collection; import de.hs_mannheim.informatik.bank.domain.Bank; +import de.hs_mannheim.informatik.bank.domain.Datenbank; import de.hs_mannheim.informatik.bank.domain.Konto; public class Banksystem { private Bank bank; + private Datenbank DB=new Datenbank(); public Banksystem(String bankname) { this.bank = new Bank(bankname); @@ -49,4 +51,11 @@ public class Banksystem { public void Überweisung(int Empfänger, int Sender,double Menge) { bank.kontoÜberweisen(Empfänger, Sender, Menge); } + public void Speichern() throws Exception { + DB.Speichern(bank); + } + public void Laden()throws Exception{ + if(DB.Laden()!=null) + this.bank=DB.Laden(); + } } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java index 2b836f2..3640611 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java @@ -8,9 +8,11 @@ public class UI { private Banksystem bs; Scanner sc = new Scanner(System.in); - public UI(Banksystem bs) { + public UI(Banksystem bs) throws Exception { this.bs = bs; + Laden(); hauptmenü(); + Speichern(); } private void hauptmenü() { @@ -129,13 +131,14 @@ public class UI { } sc.nextLine(); - - - } - - + public void Laden()throws Exception{ + bs.Laden(); + } + public void Speichern()throws Exception{ + bs.Speichern(); + }