From 0318fd8741360a634a5acafb243b045e3f4fd816 Mon Sep 17 00:00:00 2001 From: alexanderhariri <102290528+alexanderhariri@users.noreply.github.com> Date: Tue, 11 Oct 2022 14:33:58 +0200 Subject: [PATCH] =?UTF-8?q?Das=20Einzahlsystem=20wurde=20eingepflegt.=20Ma?= =?UTF-8?q?n=20kann=20au=C3=9Ferdem=20den=20Kontostand=20abfragen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .project | 11 ++ .../de/hs_mannheim/informatik/bank/Main.java | 8 +- .../informatik/bank/domain/Bank.java | 32 +++-- .../informatik/bank/domain/Konto.java | 37 +++--- .../informatik/bank/facade/Banksystem.java | 37 ++++-- .../de/hs_mannheim/informatik/bank/ui/UI.java | 114 ++++++++++++------ 6 files changed, 158 insertions(+), 81 deletions(-) create mode 100644 .project diff --git a/.project b/.project new file mode 100644 index 0000000..4da22b8 --- /dev/null +++ b/.project @@ -0,0 +1,11 @@ + + + Bank-System + + + + + + + + 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 b075558..dd783b9 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/Main.java @@ -2,12 +2,10 @@ package de.hs_mannheim.informatik.bank; import de.hs_mannheim.informatik.bank.facade.Banksystem; import de.hs_mannheim.informatik.bank.ui.UI; - public class Main { - public static void main(String[] args) { - Banksystem bs = new Banksystem("Spaßkasse Mannheim"); + Banksystem bs = new Banksystem("Sparkasse Mannheim"); UI ui = new UI(bs); + } - -} \ 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 0b66d3d..87c4b6e 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,25 +2,23 @@ package de.hs_mannheim.informatik.bank.domain; import java.util.Collection; import java.util.HashMap; - public class Bank { private String name; private HashMap konten = new HashMap<>(); - public Bank(String name) { - this.name = name; - } - - public void addKonto(Konto k) { - konten.put(k.getKontonummer(), k); - } - - public String getName() { - return name; - } - - public Collection getKontenliste() { - return konten.values(); - } - +public Bank(String name){ + this.name = name; +} +public String getName() { + return name; +} +public void addKonto(Konto k) { + konten.put(k.getKontonummer(), k); +} +public Collection getKontenliste(){ + return konten.values(); + } + + + } 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 654d503..92c2eab 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,24 +1,29 @@ package de.hs_mannheim.informatik.bank.domain; public class Konto { - private static int kontozähler = 0; - + private static int kontozähler; private int nummer; - private long stand = 0; private String inhaber; + private long stand=0; + +public Konto(String inhaber) { + nummer = 1000 + kontozähler++; + this.inhaber = inhaber; - public Konto(String inhaber) { - nummer = 1000 + kontozähler++; - this.inhaber = inhaber; - } - - public int getKontonummer() { - return nummer; - } - @Override - public String toString() { - return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]"; - } - +} + +public int getKontonummer() { + return nummer; +} +public String toString() { + return "Kontonummer " + nummer + ", Inhaber " + inhaber + ", Kontostand " + stand + " Euro"; +} + +public long zeigeStand() { + return stand; +} +public void zahleEinBetrag(long betrag) { + this.stand = this.stand + 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 821c2a9..8d2e485 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 @@ -1,5 +1,6 @@ package de.hs_mannheim.informatik.bank.facade; + import java.util.Collection; import de.hs_mannheim.informatik.bank.domain.Bank; @@ -7,31 +8,51 @@ import de.hs_mannheim.informatik.bank.domain.Konto; public class Banksystem { private Bank bank; - + private Konto selKonto; + public Banksystem(String bankname) { this.bank = new Bank(bankname); + } - + public int kontoAnlegen(String name) { Konto k = new Konto(name); + bank.addKonto(k); - return k.getKontonummer(); } - + + public boolean kontoAuswählen(int kn) { + this.selKonto = null; + for (Konto k : bank.getKontenliste()) { + if (kn == k.getKontonummer()) { + this.selKonto = k; + } + }return selKonto != null; + + } + + public void zahleEin(long betrag) { + if (selKonto != null) { + selKonto.zahleEinBetrag(betrag); + System.out.println("Sie haben " +betrag+ " eingezahlt."); + }else {System.out.println("Fehlerhafter Zustand");} + + } public String[] getKontenliste() { Collection konten = bank.getKontenliste(); String[] liste = new String[konten.size()]; - int i = 0; for (Konto k : konten) { - liste[i++] = k.toString(); + liste[i++] = k.toString(); } - return liste; } - + public String getBankname() { return bank.getName(); } +public void stand() { + System.out.println("Der Kontostand beträgt: " + selKonto.zeigeStand()); +} } 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 d6eb6e9..33c820b 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 @@ -3,62 +3,106 @@ package de.hs_mannheim.informatik.bank.ui; import java.util.Scanner; import de.hs_mannheim.informatik.bank.facade.Banksystem; - public class UI { private Banksystem bs; + private boolean kontoSelektiert; Scanner sc = new Scanner(System.in); public UI(Banksystem bs) { this.bs = bs; - hauptmenü(); + hauptmenü(); } - private void hauptmenü() { - System.out.println("Willkommen bei der " + bs.getBankname() + "!"); + public void reset() { + this.kontoSelektiert = false; + } - mainloop: - while (true) { - System.out.println(); - System.out.println("--------"); - System.out.println("Hauptmenü"); - System.out.println("1 -> Konten anzeigen"); + public void hauptmenü() { + System.out.println("Willkommen bei der " + bs.getBankname()); + reset(); + mainloop: while (true) { + + if (!kontoSelektiert) { + System.out.println("Hauptmenü"); + System.out.println("1 -> Konto anzeigen"); System.out.println("2 -> Konto anlegen"); - System.out.println("9 -> Beenden"); - System.out.println(); - - System.out.print("> "); - int input = Integer.parseInt(sc.nextLine()); - System.out.println(); - - switch(input) { - case 1: kontenAnzeigen(); break; - case 2: kontoAnlegen(); break; - case 9: break mainloop; - } + System.out.println("3 -> Konto auswählen"); + } else { + System.out.println("4 -> Geld einzahlen"); + System.out.println("5 -> Kontostand"); + System.out.println("6 -> Hauptmenü"); } - System.out.println("Auf Wiedersehen!"); + System.out.println("9 -> beenden"); - } // hauptmenü + int input = Integer.parseInt(sc.nextLine()); - private void kontenAnzeigen() { + switch (input) { + case 1: + kontenAnzeigen(); + break; + case 2: + kontoAnlegen(); + break; + case 3: + kontoAuswählen(); + break; + case 4: + einzahlen(); + break; + case 5 : kontoStand(); break; + case 6: + hauptmenü(); + break; + case 9: + break mainloop; + + } + } + + } + + private void kontoStand() { + bs.stand(); + + } + + private void einzahlen() { + System.out.println("Wieviel wollen Sie einzahlen?"); + long euro = Long.parseLong(sc.nextLine()); + bs.zahleEin(euro); + + } + + private void kontoAuswählen() { + + kontenAnzeigen(); + System.out.println("Wählen Sie die Kontonummer aus"); + int auswahl = Integer.parseInt(sc.nextLine()); + kontoSelektiert = bs.kontoAuswählen(auswahl); + + } + + private void kontoAnlegen() { + System.out.println(("Wie lautet der Name des Kontoinhaber?:")); + String inhaber = sc.nextLine(); + + int neuesKonto = bs.kontoAnlegen(inhaber); + System.out.println("Konto mit der Kontonummer " + neuesKonto + " wurde angelegt."); + + } + + private void kontenAnzeigen() { String[] konten = bs.getKontenliste(); + if (konten.length > 0) { - System.out.println("Folgende Konten sind aktuell verfügbar:"); + System.out.println("Folgende Konten sind angelegt: "); for (String s : konten) { System.out.println(s); } } else { - System.out.println("Bisher keine Konten angelegt."); + System.out.println("Aktuell sind keine Konten angelegt."); } } - private void kontoAnlegen() { - System.out.println("Bitte den Namen des Kontoinhabers angeben: "); - String name = sc.nextLine(); - - int kontonummer = bs.kontoAnlegen(name); - System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); - } - }