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 81df8e3..a251ed5 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 @@ -17,6 +17,11 @@ public class Konto { return k.stand; } + public long kontoAbheben(Konto k, long betrag) { + k.stand = k.stand - betrag; + return k.stand; + } + public int getKontonummer() { return nummer; } 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 e4f5fcf..47f4614 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 @@ -58,8 +58,26 @@ public class Banksystem { } public String kontoAbheben(String betrag, int kontonr) { - //code - return betrag; + 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"; + + 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 + StringBuilder standKomma = new StringBuilder(Long.toString(k.getKontostand())); + int posKomma = standKomma.length()-2; + standKomma = standKomma.insert(posKomma, '.'); + + return standKomma.toString(); } public String[] getKontenliste() { 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 b4445eb..dc6185d 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 @@ -38,7 +38,7 @@ public class UI { case 2: kontoAnlegen(); break; case 3: kontoEinzahlen(); break; case 4: kontoStand(); break; - //case 5: kontoAbheben() break; t + case 5: kontoAbheben(); break; case 9: break mainloop; } }