From 4cef95e571226dd57d5e20e761fe8f4ac42ba31e Mon Sep 17 00:00:00 2001 From: Alper2402 <2121675@stud.hs-mannheim.de> Date: Tue, 11 Oct 2022 12:11:24 +0200 Subject: [PATCH] =?UTF-8?q?2=20Methoden=20hinzugef=C3=BCgt=20um=20doppelte?= =?UTF-8?q?n=20Code=20zu=20beseitigen=20betragMitKomma=20kontostandMitKomm?= =?UTF-8?q?a?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../informatik/bank/facade/Banksystem.java | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) 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 47f4614..35a977c 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 @@ -34,32 +34,33 @@ public class Banksystem { } public String kontoEinzahlen(String betrag, int kontonr) { - boolean komma = false; - - // Schaut ob Betrag mit Komma (zB: 42.50) - for (char ch : betrag.toCharArray()) { - if (ch == '.') - komma = true; - } - if (!komma) - betrag = betrag + ".00"; - + // Komma hinzufügen oder nicht (Aus 10 wird 10.00) + betrag = betragMitKomma(betrag); + // Komma wird entfernt (10.00 wird zu 1000) long betrag_long = Long.parseLong(betrag.replace(".", "")); Konto k = bank.getKonto(kontonr); k.kontoEinzahlen(k, betrag_long); // Betrag mit 2 Nachkommastellen für den User anzeigen lassen - StringBuilder standKomma = new StringBuilder(Long.toString(k.getKontostand())); - int posKomma = standKomma.length()-2; - standKomma = standKomma.insert(posKomma, '.'); - - return standKomma.toString(); + return kontostandMitKomma(k); } public String kontoAbheben(String betrag, int kontonr) { - boolean komma = false; + // Komma hinzufügen oder nicht (Aus 10 wird 10.00) + betrag = betragMitKomma(betrag); + // Komma wird entfernt (10.00 wird zu 1000) + long betrag_long = Long.parseLong(betrag.replace(".", "")); + Konto k = bank.getKonto(kontonr); + k.kontoAbheben(k, betrag_long); + + // Betrag mit 2 Nachkommastellen für den User anzeigen lassen + return kontostandMitKomma(k); + } + + private String betragMitKomma(String betrag) { + boolean komma = false; // Schaut ob Betrag mit Komma (zB: 42.50) for (char ch : betrag.toCharArray()) { if (ch == '.') @@ -67,16 +68,15 @@ public class Banksystem { } if (!komma) betrag = betrag + ".00"; - - long betrag_long = Long.parseLong(betrag.replace(".", "")); - - Konto k = bank.getKonto(kontonr); - k.kontoAbheben(k, betrag_long); + return betrag; + } + + private String kontostandMitKomma(Konto k) { // Betrag mit 2 Nachkommastellen für den User anzeigen lassen StringBuilder standKomma = new StringBuilder(Long.toString(k.getKontostand())); int posKomma = standKomma.length()-2; standKomma = standKomma.insert(posKomma, '.'); - + return standKomma.toString(); }