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.");
- }
-
}