From fd51dcf32a3b2f4af87d63f6aab73d5486d569f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20H=C3=B6rner?= <3012330@stud.hs-mannheim.de>
Date: Tue, 19 Dec 2023 14:34:31 +0100
Subject: [PATCH] =?UTF-8?q?Funktionierendes=20Men=C3=BC=20mit:=20Konto=20e?=
=?UTF-8?q?rstellen=20ein/aus=20Zahlung=20und=20ausgabe=20Kontostand?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.gitignore | 29 ++++++++++++
.idea/.gitignore | 8 ++++
.idea/misc.xml | 6 +++
.idea/modules.xml | 8 ++++
.idea/vcs.xml | 6 +++
eigenebank.iml | 11 +++++
src/Bank.java | 68 ++++++++++++++++++++++++++++
src/BankUI.java | 107 +++++++++++++++++++++++++++++++++++++++++++++
src/Bankkonto.java | 43 ++++++++++++++++++
src/Main.java | 17 +++++++
10 files changed, 303 insertions(+)
create mode 100644 .gitignore
create mode 100644 .idea/.gitignore
create mode 100644 .idea/misc.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/vcs.xml
create mode 100644 eigenebank.iml
create mode 100644 src/Bank.java
create mode 100644 src/BankUI.java
create mode 100644 src/Bankkonto.java
create mode 100644 src/Main.java
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f68d109
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,29 @@
+### IntelliJ IDEA ###
+out/
+!**/src/main/**/out/
+!**/src/test/**/out/
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+bin/
+!**/src/main/**/bin/
+!**/src/test/**/bin/
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..6f29fee
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..f2fa516
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/eigenebank.iml b/eigenebank.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/eigenebank.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Bank.java b/src/Bank.java
new file mode 100644
index 0000000..6cfe9a0
--- /dev/null
+++ b/src/Bank.java
@@ -0,0 +1,68 @@
+import java.util.ArrayList;
+
+public class Bank {
+ private String name;
+ private static ArrayList kontenListe = new ArrayList<>();
+
+ public Bank(String name){
+ this.kontenListe = new ArrayList<>();
+ this.name = name;
+ }
+
+ public static boolean bankkontoVorhanden(int kontoNr) {
+ Bankkonto bk = bankkontofinden(kontoNr);
+ if (bk != null) {
+ return true;
+ }
+ return false;
+ }
+
+ public int kontoAnlegen(String inhaber){
+ Bankkonto bk = new Bankkonto(inhaber);
+ kontenListe.add(bk);
+
+ return bk.getKontonummer();
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public boolean geldeinzahlen(int kontonummer, double betrag) {
+
+ if (betrag > 0) {
+ Bankkonto bk = bankkontofinden(kontonummer);
+ if(bk != null){
+ bk.geldEinzahlen(betrag);
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ private static Bankkonto bankkontofinden(int kontonummer) {
+ for (int i = 0; i < kontenListe.size(); i++) {
+ if (kontenListe.get(i).getKontonummer() == kontonummer) {
+ return kontenListe.get(i);
+ }
+ }
+ return null;
+ }
+
+ public double kontostandausgeben(int kontonummer) {
+ Bankkonto bk = bankkontofinden(kontonummer);
+ return bk.kontostand;
+ }
+
+ public boolean geldauszahlen(int kontonummer, double betrag) {
+ Bankkonto bk = bankkontofinden(kontonummer);
+
+ if (bk.kontostand >= betrag) {
+ bk.geldAuszahlen(betrag);
+ return true;
+ }
+
+ return false;
+ }
+}
diff --git a/src/BankUI.java b/src/BankUI.java
new file mode 100644
index 0000000..ed31473
--- /dev/null
+++ b/src/BankUI.java
@@ -0,0 +1,107 @@
+import java.util.Scanner;
+
+public class BankUI {
+ private static Bank bank = new Bank("Spaßkasse");
+ private static Scanner kb = new Scanner(System.in);
+
+
+ public static void main(String[] args){
+ willkommen();
+
+ hauptmenue();
+ }
+
+ private static void hauptmenue() {
+ System.out.println("Verfügbare Funktionalität: ");
+ System.out.println("1) Konto anlegen");
+ System.out.println("2) Geld einzahlen");
+ System.out.println("3) Geld auszahlen");
+ System.out.println("4) Kontostand ausgeben");
+ System.out.println("9) Programm beenden");
+
+ int eingabe;
+ do {
+ System.out.println();
+ System.out.print("Eingabe > ");
+ eingabe = kb.nextInt();
+
+ switch (eingabe) {
+ case 1 -> kontoAnlegenScreen();
+ case 2 -> geldEinzahlenScreen();
+ case 3 -> geldAuszahlenScreen();
+ case 4 -> kontostandAusgebenScreen();
+ case 5 -> System.out.println(eingabe);
+ case 6 -> System.out.println(eingabe);
+ case 7 -> System.out.println(eingabe);
+ case 8 -> System.out.println(eingabe);
+ case 9 -> aufWiedersehen();
+ default -> System.out.println("Fehler bei Eingabe! Versuchen Sie es erneut.");
+ }
+ } while (eingabe != 9);
+ }
+
+ private static void kontostandAusgebenScreen() {
+ int kontonummer = kontonummerAbfrage();
+
+ if (Bank.bankkontoVorhanden(kontonummer)) {
+ System.out.println("Sie haben " +bank.kontostandausgeben(kontonummer)+ "€ auf dem Konto");
+ } else {
+ System.out.println("Konto mit Kontonummer: " +kontonummer+ " konnte nicht gefunden werden");
+ }
+ }
+
+ private static void geldAuszahlenScreen() {
+ int kontonummer = kontonummerAbfrage();
+ if (Bank.bankkontoVorhanden(kontonummer)) {
+ System.out.print("Betrag den sie auszahlen wollen: ");
+ double betrag = kb.nextInt();
+ if (bank.geldauszahlen(kontonummer, betrag)) {
+ System.out.println("Es wurden "+betrag+ "€ aus dem Konto ausgezahlt.");
+ } else {
+ System.out.println("Fehler - Es wurde kein Geld ausgezahlt!");
+ }
+ } else {
+ System.out.println("Konto mit Kontonummer: " +kontonummer+ " konnte nicht gefunden werden");
+ }
+ }
+
+ private static void geldEinzahlenScreen() {
+ System.out.println("Geldeinzahlen");
+ int kontonummer = kontonummerAbfrage();
+ System.out.print("Betrag den sie einzahlen wollen: ");
+ double betrag = kb.nextDouble();
+ if (bank.geldeinzahlen(kontonummer, betrag)) {
+ System.out.println("Es wurden "+betrag+ "€ in das Konto eingezahlt.");
+ } else {
+ System.out.println("Fehler - Es wurde kein Geld eingezahlt!");
+ }
+ }
+
+ private static void cls() {
+ for (int i = 0; i < 40; i++) {
+ System.out.println();
+ }
+ }
+
+ private static int kontonummerAbfrage() {
+ System.out.print("Bitte Kontonummer angeben: ");
+ return kb.nextInt();
+ }
+
+ private static void aufWiedersehen() {
+ System.out.println("Die " + bank.getName() + " verabschiedet sich.");
+ }
+
+ private static void kontoAnlegenScreen() {
+ System.out.print("Bitte Namen des künftigen Inhabers angeben: ");
+
+ String inhaber = kb.next();
+
+ int kontonummer = bank.kontoAnlegen(inhaber);
+ System.out.println("Konto mit der Kontonummer: " +kontonummer+ " wurde angelegt!");
+ }
+
+ public static void willkommen(){
+ System.out.println("Willkommen bei der " + bank.getName() + "!");
+ }
+}
diff --git a/src/Bankkonto.java b/src/Bankkonto.java
new file mode 100644
index 0000000..097b400
--- /dev/null
+++ b/src/Bankkonto.java
@@ -0,0 +1,43 @@
+public class Bankkonto {
+ String name;
+ int kontonummer;
+ double kontostand;
+
+ static int kontozaehler = (int) (Math.random()*10000+1000);
+
+ public Bankkonto(String name){
+ this.name = name;
+ this.kontostand = 0.0;
+
+ this.kontonummer = kontozaehler++;
+ }
+
+ public double geldEinzahlen(double betrag){
+ kontostand += betrag;
+
+ return kontostand;
+ }
+
+ public double geldAuszahlen(double betrag){
+ kontostand -= betrag;
+
+ return kontostand;
+ }
+
+ public double getKontostand() {
+ return kontostand;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public int getKontonummer() {
+ return kontonummer;
+ }
+
+ @Override
+ public String toString() {
+ return "Name: " +name+ " Kontostand: " +kontostand+ " Konto Nummer: " +kontonummer;
+ }
+}
diff --git a/src/Main.java b/src/Main.java
new file mode 100644
index 0000000..148a9e8
--- /dev/null
+++ b/src/Main.java
@@ -0,0 +1,17 @@
+// Press Shift twice to open the Search Everywhere dialog and type `show whitespaces`,
+// then press Enter. You can now see whitespace characters in your code.
+public class Main {
+ public static void main(String[] args) {
+ // Press Alt+Eingabe with your caret at the highlighted text to see how
+ // IntelliJ IDEA suggests fixing it.
+ System.out.printf("Hello and welcome!");
+
+ // Press Umschalt+F10 or click the green arrow button in the gutter to run the code.
+ for (int i = 1; i <= 5; i++) {
+
+ // Press Umschalt+F9 to start debugging your code. We have set one breakpoint
+ // for you, but you can always add more by pressing Strg+F8.
+ System.out.println("i = " + i);
+ }
+ }
+}
\ No newline at end of file