From 1b7605afb8ae2b5e5472bce38018780251bd5872 Mon Sep 17 00:00:00 2001 From: Joel Date: Sat, 9 Jan 2021 13:07:38 +0100 Subject: [PATCH] renamed methods; fixed error when no ticket selected --- Fahrkartenautomat/src/Fahrkartenautomat.java | 74 +++++++++++++------- 1 file changed, 48 insertions(+), 26 deletions(-) diff --git a/Fahrkartenautomat/src/Fahrkartenautomat.java b/Fahrkartenautomat/src/Fahrkartenautomat.java index c03e02b..d23a02c 100644 --- a/Fahrkartenautomat/src/Fahrkartenautomat.java +++ b/Fahrkartenautomat/src/Fahrkartenautomat.java @@ -6,8 +6,10 @@ import java.util.Scanner; class Fahrkartenautomat { - public static double fahrkartenbestellungErfassen (){ - // Array für Preise + + public static double auswahlErfassen (){ + //=================================================================== + // Array für die Bezeichnungen String[] bezeichnungen = {"Einzelfahrschein Berlin AB", "Einzelfahrschein Berlin BC", @@ -19,13 +21,16 @@ class Fahrkartenautomat "Kleingruppen-Tageskarte Berlin AB", "Kleingruppen-Tageskarte Berlin BC", "Kleingruppen-Tageskarte Berlin ABC"}; + + // Array für die jeweiligen Preise 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); double zuZahlenderBetrag = 0.0; double einzelBetrag = 0.0; - byte anzahlTickets = 0; + byte auswahlTicket = 0; while (true) { @@ -46,36 +51,49 @@ class Fahrkartenautomat einzelBetrag = preise[auswahlTicket-1]; } catch (ArrayIndexOutOfBoundsException exception) { - if (auswahlTicket == i+1) break; - else {System.out.println(" >>falsche Eingabe<<"); continue;} - } - - while (true) { - System.out.print("Anzahl der Tickets: "); - try { - anzahlTickets = tastatur.nextByte(); + if (auswahlTicket == i+1) { + break; } - catch(InputMismatchException e) { - anzahlTickets = 0; - tastatur.nextLine(); + else if (auswahlTicket == 99) + { + admin(); + break; } - if (!(anzahlTickets > 0 && anzahlTickets <= 10)) { - System.out.print("Es wurde ein ungültiger Wert für die Ticketanzahl eingegeben. \n" - + "Bitte erneut versuchen.\n"); - continue; - } - break; + else {System.out.println(" >>falsche Eingabe<<"); warte(1000); continue;} } - zuZahlenderBetrag += anzahlTickets * einzelBetrag; + zuZahlenderBetrag = anzahlErfassen(einzelBetrag); } - return zuZahlenderBetrag; } + public static double anzahlErfassen(double einzelBetrag) { + Scanner tastatur = new Scanner(System.in); + byte anzahlTickets = 0; + + while (true) { + System.out.print("Anzahl der Tickets: "); + try { + anzahlTickets = tastatur.nextByte(); + } + catch(InputMismatchException e) { + anzahlTickets = 0; + tastatur.nextLine(); + } + if (!(anzahlTickets > 0 && anzahlTickets <= 10)) { + System.out.print("Es wurde ein ungültiger Wert für die Ticketanzahl eingegeben. \n" + + "Bitte erneut versuchen.\n"); + continue; + } + break; + } + return anzahlTickets * einzelBetrag; + } + public static double fahrkartenBezahlen(double zuZahlenderBetrag) { if (zuZahlenderBetrag == 0) { System.out.println("Nichts zu Bezahlen"); - fahrkartenbestellungErfassen(); + warte(1000); + main(null); } Scanner tastatur = new Scanner(System.in); @@ -215,14 +233,18 @@ class Fahrkartenautomat "Wir wünschen Ihnen eine gute Fahrt.\n\n"); warte(2000); } - + + public static void admin() { + System.out.println("Administrationsmenü\n============"); + } + public static void main(String[] args) { double zuZahlenderBetrag; double rueckgabebetrag; while (true) { - zuZahlenderBetrag = fahrkartenbestellungErfassen(); + zuZahlenderBetrag = auswahlErfassen(); rueckgabebetrag = fahrkartenBezahlen(zuZahlenderBetrag); fahrkartenAusgeben(); rueckgeldAusgeben(rueckgabebetrag);