From 3bbd728fa201619278cbbe511878e18e32549ca4 Mon Sep 17 00:00:00 2001 From: Laurent Date: Tue, 4 Oct 2022 02:04:50 +0200 Subject: [PATCH] 1st Uebung --- Bank-Beispiel/.classpath | 4 +- .../informatik/bank/domain/Bank.java | 14 ++-- .../informatik/bank/domain/Konto.java | 20 ++++-- .../informatik/bank/facade/Banksystem.java | 68 ++++++++++++++++--- .../de/hs_mannheim/informatik/bank/ui/UI.java | 62 ++++++++++++----- 5 files changed, 131 insertions(+), 37 deletions(-) diff --git a/Bank-Beispiel/.classpath b/Bank-Beispiel/.classpath index 57bca72..adeb0a3 100644 --- a/Bank-Beispiel/.classpath +++ b/Bank-Beispiel/.classpath @@ -1,10 +1,10 @@ - + + - 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..5ab5da8 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 @@ -6,21 +6,25 @@ 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 long addBalance(long summe) { + return summe; + } + public String getName() { return name; } - + 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..0f4f327 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 @@ -2,7 +2,8 @@ package de.hs_mannheim.informatik.bank.domain; public class Konto { private static int kontozähler = 0; - + + private long balance = 0; private int nummer; private long stand = 0; private String inhaber; @@ -11,14 +12,25 @@ public class Konto { nummer = 1000 + kontozähler++; this.inhaber = inhaber; } - + public int getKontonummer() { return nummer; } + public long addBalance(long summe) { + balance = balance + summe; + + return nummer; + } + + public long getBalance() { + return balance; + + } + @Override public String toString() { - return "Konto [nummer=" + nummer + ", inhaber=" + inhaber + "]"; + return "Konto [Nummer=" + nummer + ", Inhaber=" + inhaber + ", Guthaben: " + balance + "€]"; } - + } 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..7366694 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,36 +1,88 @@ package de.hs_mannheim.informatik.bank.facade; import java.util.Collection; +import java.util.Iterator; +import java.util.Scanner; import de.hs_mannheim.informatik.bank.domain.Bank; import de.hs_mannheim.informatik.bank.domain.Konto; public class Banksystem { + Scanner sc = new Scanner(System.in); private Bank bank; - + 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 long einzahlen(long summe) { + Collection konten = bank.getKontenliste(); + String[] liste = new String[konten.size()]; + for (Konto k : konten) { + + } + + return summe; + } + + public long suche(int kontonr) { + Collection konten = bank.getKontenliste(); + String[] liste = new String[konten.size()]; + if (konten.size() == 0) { + System.out.println("Es sind noch keine Kontos vorhanden!"); + } + if (kontonr < 1000) { + System.out.println("Falsche Kontonummer!"); + } + for (Konto k : konten) { + if (k.getKontonummer() == kontonr) { + System.out.println("Ihr Konto wurde gefunden"); + System.out.println("Wie viel Geld(€) möchten sie einzahlen?"); + int summe = Integer.parseInt(sc.nextLine()); + k.addBalance(summe); + + einzahlen(summe); + System.out.println("Es wurden:" + summe + "€ in ihr Konto eingezahlt!"); + } else { + System.out.println("Es existiert kein Konto mit dieser Kontonummer!"); + } + // liste[i++] = k.toString(); + } + return 0; + + } + + public int kontoSuche(int suchNr) { + Collection konten = bank.getKontenliste(); + String[] liste = new String[konten.size()]; + for (Konto k : konten) { + if (k.getKontonummer() == suchNr) { + System.out.println(k.toString()); + System.out.println("Ihr Konto wurde gefunden"); + } + } + return suchNr; + } + 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(); } 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..d3f45dc 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 @@ -1,5 +1,6 @@ package de.hs_mannheim.informatik.bank.ui; +import java.util.HashMap; import java.util.Scanner; import de.hs_mannheim.informatik.bank.facade.Banksystem; @@ -16,32 +17,57 @@ public class UI { private void hauptmenü() { System.out.println("Willkommen bei der " + bs.getBankname() + "!"); - mainloop: - while (true) { - System.out.println(); - System.out.println("--------"); - System.out.println("Hauptmenü"); - System.out.println("1 -> Konten anzeigen"); - System.out.println("2 -> Konto anlegen"); - System.out.println("9 -> Beenden"); - System.out.println(); + mainloop: while (true) { + System.out.println(); + System.out.println("--------"); + System.out.println("Hauptmenü"); + System.out.println("1 -> Konten anzeigen"); + System.out.println("2 -> Konto anlegen"); + System.out.println("3 -> addBalance"); + System.out.println("4 -> Konto suchen"); + System.out.println("9 -> Beenden"); + System.out.println(); - System.out.print("> "); - int input = Integer.parseInt(sc.nextLine()); - 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; - } + switch (input) { + case 1: + kontenAnzeigen(); + break; + case 2: + kontoAnlegen(); + break; + case 3: + addBalance(); + break; + case 4: + kontoSuche(); + break; + case 9: + break mainloop; } + } System.out.println("Auf Wiedersehen!"); } // hauptmenü - private void kontenAnzeigen() { + private void kontoSuche() { + System.out.print("Geben sie die gesuchte Kontonummer ein: "); + int suchNr = Integer.parseInt(sc.nextLine()); + bs.kontoSuche(suchNr); + } + + private void addBalance() { + System.out.println("In welches Konto möchten sie einzahlen?"); + int kontonr = Integer.parseInt(sc.nextLine()); + bs.suche(kontonr); + + } + + private void kontenAnzeigen() { // ------- 1 String[] konten = bs.getKontenliste(); if (konten.length > 0) { System.out.println("Folgende Konten sind aktuell verfügbar:");