07++ accept only valid coins
This commit is contained in:
@@ -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
|
class Fahrkartenautomat
|
||||||
{
|
{
|
||||||
@@ -69,9 +72,20 @@ class Fahrkartenautomat
|
|||||||
while(eingezahlterGesamtbetrag < zuZahlenderBetrag)
|
while(eingezahlterGesamtbetrag < zuZahlenderBetrag)
|
||||||
{
|
{
|
||||||
System.out.printf("Noch zu zahlen: %.2f Euro \n", (zuZahlenderBetrag - eingezahlterGesamtbetrag));
|
System.out.printf("Noch zu zahlen: %.2f Euro \n", (zuZahlenderBetrag - eingezahlterGesamtbetrag));
|
||||||
System.out.print("Eingabe (mind. 5Ct, höchstens 2 Euro): ");
|
double eingeworfeneMuenze = 0.0;
|
||||||
double eingeworfeneMünze = tastatur.nextDouble();
|
//Liste mit gültigen Münzen
|
||||||
eingezahlterGesamtbetrag += eingeworfeneMünze;
|
List<Double> 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
|
// Rückgeldberechnung
|
||||||
double rueckgabebetrag = eingezahlterGesamtbetrag - zuZahlenderBetrag;
|
double rueckgabebetrag = eingezahlterGesamtbetrag - zuZahlenderBetrag;
|
||||||
|
|||||||
Reference in New Issue
Block a user