renamed methods; fixed error when no ticket selected

This commit is contained in:
Joel
2021-01-09 13:07:38 +01:00
parent d5a9a0aa1a
commit 1b7605afb8
+48 -26
View File
@@ -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);