From e0b7ec925e9f9f449888c2021367c7b0dbf54fcb Mon Sep 17 00:00:00 2001 From: selin Date: Mon, 24 Oct 2022 13:15:32 +0200 Subject: [PATCH] Test --- Bank-Beispiel/Kontos.ser | Bin 0 -> 95 bytes Bank-Beispiel/Kontos.txt | Bin 0 -> 228 bytes Bank-Beispiel/src/Kontos.txt | 0 .../de/hs_mannheim/informatik/bank/Main.java | 11 +++- .../informatik/bank/domain/Bank.java | 6 +++ .../informatik/bank/domain/Konto.java | 40 +++++++++++---- .../informatik/bank/domain/Kontobewegung.java | 28 +++++++++++ .../informatik/bank/facade/Banksystem.java | 22 ++++++-- .../de/hs_mannheim/informatik/bank/ui/UI.java | 47 +++++++++++++----- .../src/persistence/SpeichernLaden.java | 40 +++++++++++++++ Bank-System | 1 + 11 files changed, 165 insertions(+), 30 deletions(-) create mode 100644 Bank-Beispiel/Kontos.ser create mode 100644 Bank-Beispiel/Kontos.txt create mode 100644 Bank-Beispiel/src/Kontos.txt create mode 100644 Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontobewegung.java create mode 100644 Bank-Beispiel/src/persistence/SpeichernLaden.java create mode 160000 Bank-System diff --git a/Bank-Beispiel/Kontos.ser b/Bank-Beispiel/Kontos.ser new file mode 100644 index 0000000000000000000000000000000000000000..def3d7085eb5d0b421e8d44f757cfe53a8d13644 GIT binary patch literal 95 zcmZ4UmVvdjh(S2oCo8cmQ7<-TlEl0eTZ32tCYvCY literal 0 HcmV?d00001 diff --git a/Bank-Beispiel/Kontos.txt b/Bank-Beispiel/Kontos.txt new file mode 100644 index 0000000000000000000000000000000000000000..cac8697c9c87c4580d4caf09a2d522faa5964366 GIT binary patch literal 228 zcmX|*F>b;@5Jf*=NEs<8B`1iqJ^&RZi8~Gujpd0wv3HEtV?nfBX1K4TBIg~Ky_T$o#|ze*H0de?`pl%W<*)@N phwBs!(+xMG=TGNR>LTrK^zik+`2M4x2}Wxqo$NW*fn5@FI037{Mz#O| literal 0 HcmV?d00001 diff --git a/Bank-Beispiel/src/Kontos.txt b/Bank-Beispiel/src/Kontos.txt new file mode 100644 index 0000000..e69de29 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 2cfb4bb..771fc40 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java @@ -1,13 +1,20 @@ package de.hs_mannheim.informatik.bank; +import java.io.IOException; + +import de.hs_mannheim.informatik.bank.domain.Konto; import de.hs_mannheim.informatik.bank.facade.Banksystem; import de.hs_mannheim.informatik.bank.ui.UI; +import persistence.SpeichernLaden; public class Main { - public static void main(String[] args) { + public static void main(String[] args) throws ClassNotFoundException, IOException { Banksystem bs = new Banksystem("Sparkasse Mannheim"); UI ui = new UI(bs); + // Konto test = new Konto("Selin"); + SpeichernLaden.speichern(bs.getKontenliste()); + SpeichernLaden.laden(); } - +//Test } \ No newline at end of file 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 b93b5a8..a49c8f7 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 @@ -19,6 +19,10 @@ public class Bank { return name; } + public Konto getKonto(int Kontonummer) { + return konten.get(Kontonummer); + } + public Collection getKontenliste() { return konten.values(); } @@ -27,6 +31,8 @@ public class Bank { return konten; } + + public void addKontostand(Integer nummer, long einzahlung) { long neuerstand = (konten.get(nummer).getKontostand() + einzahlung); konten.get(nummer).setKontostand(neuerstand); } 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 0d722bf..1b90b13 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,20 +1,28 @@ package de.hs_mannheim.informatik.bank.domain; +import java.io.Serializable; import java.util.ArrayList; +import java.util.Date; + +public class Konto implements Serializable{ + /** + * + */ + private static final long serialVersionUID = 1L; -public class Konto { private static int kontozähler = 0; private int nummer; private long stand = 0; private String inhaber; - private ArrayList kontobewegungen = new ArrayList<>(); - + private ArrayList kontobewegungen = new ArrayList<>(); + private Date datum; public Konto(String inhaber) { nummer = 1000 + kontozähler++; this.inhaber = inhaber; + datum = new Date(); } public int getKontonummer() { @@ -26,16 +34,28 @@ public class Konto { return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + ", kontostand=" + stand + "]"; } - public void setKontostand(long stand) { - this.stand = stand; - this.kontobewegungen.add(stand); - + public void setKontostand(long betrag) { + this.stand = betrag; + Kontobewegung bewegung = new Kontobewegung(datum, this.inhaber, betrag, "Einzahlung"); + this.kontobewegungen.add(bewegung); + } - public ArrayList getKontoauszug() { - return kontobewegungen; + public boolean Kontoauszahlung(long betrag) { + if(betrag > this.stand) { + return false; + } else { + this.stand = this.stand - betrag; + Kontobewegung bewegung = new Kontobewegung(datum, this.inhaber, betrag, "Auszahlung"); + this.kontobewegungen.add(bewegung); + return true; + } } -sc + + public ArrayList getKontoauszug() { + return this.kontobewegungen; + } + public long getKontostand() { return stand; 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..25f1d9c --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontobewegung.java @@ -0,0 +1,28 @@ +package de.hs_mannheim.informatik.bank.domain; + +import java.util.Date; + +public class Kontobewegung { + +private Date datum; +private String inhaber; +private long betrag; +private String bewegung; + +public Kontobewegung(Date datum, String inhaber, long betrag, String bewegung) { + this.datum = datum; + this.inhaber = inhaber; + this.betrag = betrag; + this.bewegung = bewegung; + +} + + public String toString() { + return "datum = " + this.datum + "inhaber = " + this.inhaber + " bewegung = " + this.bewegung + + "betrag = " + this.betrag; + } + + + + +} 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 2f0fd4e..3a2c79a 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 @@ -6,6 +6,7 @@ import java.util.HashMap; import de.hs_mannheim.informatik.bank.domain.Bank; import de.hs_mannheim.informatik.bank.domain.Konto; +import de.hs_mannheim.informatik.bank.domain.Kontobewegung; public class Banksystem { private Bank bank; @@ -53,12 +54,23 @@ public class Banksystem { } - public long getKontoauszug(ArrayList arrayList, int nummer) { - @SuppressWarnings("unused") - Konto kontobewegungen; - return nummer; + public void Kontoauszahlung(int nummer, long betrag) { + Konto konto = bank.getKonto(nummer); + konto.Kontoauszahlung(betrag); + } + + public ArrayList getKontoauszug( int kontonummer) { + Konto konto = bank.getKonto(kontonummer); + return konto.getKontoauszug(); - } + } + + + public Bank getBank() { + return this.bank; + } + + } \ No newline at end of file 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 8d9a833..7f025a4 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 @@ -2,7 +2,9 @@ package de.hs_mannheim.informatik.bank.ui; import java.util.Scanner; +import de.hs_mannheim.informatik.bank.domain.Konto; import de.hs_mannheim.informatik.bank.facade.Banksystem; +import persistence.SpeichernLaden; public class UI { private Banksystem bs; @@ -24,8 +26,9 @@ public class UI { System.out.println("1 -> Konto anlegen"); System.out.println("2 -> Konto anzeigen"); System.out.println("3 -> Kontostand erhöhen"); - System.out.println("4 -> Kontostand eines einzelnen anzeigen"); - System.out.println("5 -> Konto einen Kontoauszug anzeigen"); + System.out.println("4 -> Kontostand Geld auszahlen"); + System.out.println("5 -> Kontostand eines einzelnen anzeigen"); + System.out.println("6 -> Konto einen Kontoauszug anzeigen"); System.out.println("9 -> Beenden"); System.out.println(); @@ -37,9 +40,10 @@ public class UI { case 2: kontenAnzeigen(); break; case 1: kontoAnlegen(); break; case 3: setKontostand(); break; - case 4: getKontostand(); break; - case 5: getKontoauszug(); break; - case 9: break mainloop; + case 4: geldAuszahlen(); break; + case 5: getKontostand(); break; + case 6: getKontoauszug(); break; + case 9: break mainloop; } } @@ -47,12 +51,24 @@ public class UI { } // hauptmenü + private void geldAuszahlen() { + System.out.println("Bitte die Kontonummer eingeben:"); + Integer kontonummer = Integer.valueOf(sc.nextLine()); + + System.out.println("Bitte den Betrag der Auzahlung eingeben"); + long auszahlung = Long.parseLong(sc.nextLine()); + bs.Kontoauszahlung(kontonummer, auszahlung); + + + } + private void getKontoauszug() { System.out.println("Bitte die Kontonummer eingeben:"); Integer kontonummer = Integer.valueOf(sc.nextLine()); + + - System.out.println("Bitte den Kontoauszug anzeigen"); - long kontobewegungen = Long.parseLong(sc.nextLine()); + System.out.println(bs.getKontoauszug(kontonummer)); } @@ -88,24 +104,29 @@ public class UI { System.out.println("Bitte den Betrag der Einzahlung eingeben:"); long einzahlung = Long.parseLong(sc.nextLine()); - System.out.println("Bitte den Betrag der Auzahlung eingeben"); - long auszahlung = Long.parseLong(sc.nextLine()); bs.setKontostand(nummer, einzahlung); - bs.setKontostand(nummer, auszahlung); + } + private void getKontostand() { System.out.println("Bitte geben Sie Ihre Kontonummer ein"); Integer nummer = Integer.valueOf(sc.nextLine()); System.out.println("Der Kontostand mit Nummer: " + nummer + " ist " + bs.getKontostand(nummer)); - - - + } + + /* private void beenden() { + for(Konto konto : bs.getBank().getKontoauszug().values()) { + SpeichernLaden.speichern(konto); + } + } */ + + } diff --git a/Bank-Beispiel/src/persistence/SpeichernLaden.java b/Bank-Beispiel/src/persistence/SpeichernLaden.java new file mode 100644 index 0000000..b347f2f --- /dev/null +++ b/Bank-Beispiel/src/persistence/SpeichernLaden.java @@ -0,0 +1,40 @@ +package persistence; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.OutputStream; +import java.io.OutputStreamWriter; + +import de.hs_mannheim.informatik.bank.domain.Konto; + +public class SpeichernLaden { + + public static void speichern(String[] konten) { + + try { + OutputStream out = new FileOutputStream("Kontos.ser"); + ObjectOutputStream oos = new ObjectOutputStream(out); + oos.writeObject(konten); + System.out.println("Gespeichert!"); + out.close(); + oos.close(); + } catch (FileNotFoundException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + public static void laden() throws IOException, ClassNotFoundException { + ObjectInputStream ois = new ObjectInputStream(new FileInputStream("Kontos.ser")); + System.out.println( "Ausgabe: " +((String[])ois.readObject())[0] ); + ois.close(); +} +} \ No newline at end of file diff --git a/Bank-System b/Bank-System new file mode 160000 index 0000000..ba349af --- /dev/null +++ b/Bank-System @@ -0,0 +1 @@ +Subproject commit ba349af6c3b7c059ce6dc20ab17fc179a811e1eb