06++ added possibility to combine tickets

This commit is contained in:
Joel
2021-01-01 16:58:52 +01:00
parent 863b444e6c
commit 4d2b099bd1
+37 -27
View File
@@ -3,53 +3,63 @@
class Fahrkartenautomat
{
public static double fahrkartenbestellungErfassen (){
//Preise
double preisEinzelfahrschein = 2.9;
double preisTageskarte = 8.6;
double preisKleingruppe = 23.5;
//=====================================
Scanner tastatur = new Scanner(System.in);
double zuZahlenderBetrag = 0.0;
double einzelBetrag = 0.0;
byte anzahlTickets = 0;
byte auswahlTicket = 0;
System.out.println("Wählen Sie ihre Wunschfahrkarte für Berlin AB aus:\n" +
" Einzelfahrschein Regeltarif AB [2,90 EUR] (1)\n" +
" Tageskarte Regeltarif AB [8,60 EUR] (2)\n" +
" Kleingruppen-Tageskarte Regeltarif AB [23,50 EUR] (3)");
while (true) {
boolean auswahl = true;
while (auswahl) {
System.out.printf("\nWählen Sie ihre Wunschfahrkarte für Berlin AB aus:\n" +
" Einzelfahrschein Regeltarif AB [%.2f EUR] (1)\n" +
" Tageskarte Regeltarif AB [%.2f EUR] (2)\n" +
" Kleingruppen-Tageskarte Regeltarif AB [%.2f EUR] (3)\n" +
" Bezahlen (9)\n\n", preisEinzelfahrschein, preisTageskarte, preisKleingruppe);
System.out.print("Ihre Wahl: ");
auswahlTicket = tastatur.nextByte();
if (!(auswahlTicket > 0 && auswahlTicket < 3)) {
System.out.println(" >>falsche Eingabe<<");
continue;
}
break;
}
einzelBetrag = 0.0;
switch(auswahlTicket) {
case 1:
zuZahlenderBetrag = 2.9;
break;
case 2:
zuZahlenderBetrag = 8.6;
break;
case 3:
zuZahlenderBetrag = 23.5;
break;
}
switch(auswahlTicket) {
case 1:
einzelBetrag = preisEinzelfahrschein;
break;
case 2:
einzelBetrag = preisTageskarte;
break;
case 3:
einzelBetrag = preisKleingruppe;
break;
case 9:
auswahl = false;
break;
default:
System.out.println(" >>falsche Eingabe<<");
break;
}
while (true) {
while (auswahl) {
System.out.print("Anzahl der Tickets: ");
anzahlTickets = tastatur.nextByte();
if (!(anzahlTickets > 0 && anzahlTickets <= 10)) {
System.out.print("Es wurde ein ungültiger Wert für die Ticketanzahl eingegeben. \n"
+ "Bitte erneut versuchen.\n"
+ "Anzahl der Tickets: ");
+ "Bitte erneut versuchen.\n");
continue;
}
break;
}
zuZahlenderBetrag = anzahlTickets * zuZahlenderBetrag;
zuZahlenderBetrag += anzahlTickets * einzelBetrag;
}
return zuZahlenderBetrag;
}