From 2928943db593ff85ab11ed4faf16ee3653fd294a Mon Sep 17 00:00:00 2001 From: Joel Date: Sun, 3 Jan 2021 14:17:45 +0100 Subject: [PATCH] 07++ accept only valid coins --- Fahrkartenautomat/src/Fahrkartenautomat.java | 22 ++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/Fahrkartenautomat/src/Fahrkartenautomat.java b/Fahrkartenautomat/src/Fahrkartenautomat.java index 68ec133..3b7cab4 100644 --- a/Fahrkartenautomat/src/Fahrkartenautomat.java +++ b/Fahrkartenautomat/src/Fahrkartenautomat.java @@ -1,4 +1,7 @@ -import java.util.Scanner; +import java.util.Arrays; +import java.util.List; +import java.util.Scanner; +import java.util.stream.DoubleStream; class Fahrkartenautomat { @@ -69,9 +72,20 @@ class Fahrkartenautomat while(eingezahlterGesamtbetrag < zuZahlenderBetrag) { System.out.printf("Noch zu zahlen: %.2f Euro \n", (zuZahlenderBetrag - eingezahlterGesamtbetrag)); - System.out.print("Eingabe (mind. 5Ct, höchstens 2 Euro): "); - double eingeworfeneMünze = tastatur.nextDouble(); - eingezahlterGesamtbetrag += eingeworfeneMünze; + double eingeworfeneMuenze = 0.0; + //Liste mit gültigen Münzen + List muenzen = Arrays.asList(2.0, 1.0, 0.5, 0.2, 0.1, 0.05); + while (true) { + System.out.print("Eingabe (mind. 5Ct, höchstens 2 Euro): "); + eingeworfeneMuenze = tastatur.nextDouble(); + //Muenze prüfen + if (!muenzen.contains(eingeworfeneMuenze)) { + System.out.println("Es wurde eine ungültige Münze eingeworfen! Bitte erneut versuchen"); + } + //wenn Münze gültig kann die Schleife verlassen werden + else break; + } + eingezahlterGesamtbetrag += eingeworfeneMuenze; } // Rückgeldberechnung double rueckgabebetrag = eingezahlterGesamtbetrag - zuZahlenderBetrag;