07- manege ticket names and prices with array

This commit is contained in:
Joel
2021-01-01 17:37:51 +01:00
parent 4d2b099bd1
commit 6f7373d09b
+26 -34
View File
@@ -3,11 +3,19 @@
class Fahrkartenautomat class Fahrkartenautomat
{ {
public static double fahrkartenbestellungErfassen (){ public static double fahrkartenbestellungErfassen (){
//Preise // Array für Preise
double preisEinzelfahrschein = 2.9;
double preisTageskarte = 8.6; String[] bezeichnungen = {"Einzelfahrschein Berlin AB",
double preisKleingruppe = 23.5; "Einzelfahrschein Berlin BC",
//===================================== "Einzelfahrschein Berlin ABC",
"Kurzstrecke",
"Tageskarte Berlin AB",
"Tageskarte Berlin BC",
"Tageskarte Berlin ABC",
"Kleingruppen-Tageskarte Berlin AB",
"Kleingruppen-Tageskarte Berlin BC",
"Kleingruppen-Tageskarte Berlin ABC"};
double[] preise = {2.9, 3.3, 3.6, 1.9, 8.6, 9.0, 9.6, 23.5, 24.3, 24.9};
Scanner tastatur = new Scanner(System.in); Scanner tastatur = new Scanner(System.in);
@@ -16,37 +24,23 @@ class Fahrkartenautomat
byte anzahlTickets = 0; byte anzahlTickets = 0;
byte auswahlTicket = 0; byte auswahlTicket = 0;
boolean auswahl = true; while (true) {
while (auswahl) { System.out.printf("\nWählen Sie:\n");
System.out.printf("\nWählen Sie ihre Wunschfahrkarte für Berlin AB aus:\n" + int i=0;
" Einzelfahrschein Regeltarif AB [%.2f EUR] (1)\n" + for (; i<bezeichnungen.length; i++)
" Tageskarte Regeltarif AB [%.2f EUR] (2)\n" + System.out.printf(" %s [%.2f EUR] (%d)\n", bezeichnungen[i], preise[i], i+1);
" Kleingruppen-Tageskarte Regeltarif AB [%.2f EUR] (3)\n" + System.out.printf(" Bezahlen (%d)\n", i+1);
" Bezahlen (9)\n\n", preisEinzelfahrschein, preisTageskarte, preisKleingruppe);
System.out.print("Ihre Wahl: "); System.out.print("Ihre Wahl: ");
auswahlTicket = tastatur.nextByte(); auswahlTicket = tastatur.nextByte();
einzelBetrag = 0.0; try {
einzelBetrag = preise[auswahlTicket-1];
switch(auswahlTicket) { }
case 1: catch (ArrayIndexOutOfBoundsException exception) {
einzelBetrag = preisEinzelfahrschein; if (auswahlTicket == i+1) break;
break; else {System.out.println(" >>falsche Eingabe<<"); continue;}
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: "); System.out.print("Anzahl der Tickets: ");
anzahlTickets = tastatur.nextByte(); anzahlTickets = tastatur.nextByte();
if (!(anzahlTickets > 0 && anzahlTickets <= 10)) { if (!(anzahlTickets > 0 && anzahlTickets <= 10)) {
@@ -56,9 +50,7 @@ class Fahrkartenautomat
} }
break; break;
} }
zuZahlenderBetrag += anzahlTickets * einzelBetrag; zuZahlenderBetrag += anzahlTickets * einzelBetrag;
} }
return zuZahlenderBetrag; return zuZahlenderBetrag;