catched input mismatch exceptions

This commit is contained in:
Joel
2021-01-03 19:04:01 +01:00
parent 36ddb46dfa
commit 7fd804eb35
@@ -1,5 +1,6 @@
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.InputMismatchException;
import java.util.List; import java.util.List;
import java.util.Scanner; import java.util.Scanner;
@@ -34,7 +35,13 @@ class Fahrkartenautomat
System.out.printf(" %s [%.2f EUR] (%d)\n", bezeichnungen[i], preise[i], i+1); System.out.printf(" %s [%.2f EUR] (%d)\n", bezeichnungen[i], preise[i], i+1);
System.out.printf(" Bezahlen (%d)\n", i+1); System.out.printf(" Bezahlen (%d)\n", i+1);
System.out.print("Ihre Wahl: "); System.out.print("Ihre Wahl: ");
try {
auswahlTicket = tastatur.nextByte(); auswahlTicket = tastatur.nextByte();
}
catch(InputMismatchException e) {
auswahlTicket = 0;
tastatur.nextLine();
}
try { try {
einzelBetrag = preise[auswahlTicket-1]; einzelBetrag = preise[auswahlTicket-1];
} }
@@ -45,7 +52,13 @@ class Fahrkartenautomat
while (true) { while (true) {
System.out.print("Anzahl der Tickets: "); System.out.print("Anzahl der Tickets: ");
try {
anzahlTickets = tastatur.nextByte(); anzahlTickets = tastatur.nextByte();
}
catch(InputMismatchException e) {
anzahlTickets = 0;
tastatur.nextLine();
}
if (!(anzahlTickets > 0 && anzahlTickets <= 10)) { if (!(anzahlTickets > 0 && anzahlTickets <= 10)) {
System.out.print("Es wurde ein ungültiger Wert für die Ticketanzahl eingegeben. \n" System.out.print("Es wurde ein ungültiger Wert für die Ticketanzahl eingegeben. \n"
+ "Bitte erneut versuchen.\n"); + "Bitte erneut versuchen.\n");
@@ -77,7 +90,13 @@ class Fahrkartenautomat
List<Double> muenzen = Arrays.asList(2.0, 1.0, 0.5, 0.2, 0.1, 0.05); List<Double> muenzen = Arrays.asList(2.0, 1.0, 0.5, 0.2, 0.1, 0.05);
while (true) { while (true) {
System.out.print("Eingabe (mind. 5Ct, höchstens 2 Euro): "); System.out.print("Eingabe (mind. 5Ct, höchstens 2 Euro): ");
try {
eingeworfeneMuenze = tastatur.nextDouble(); eingeworfeneMuenze = tastatur.nextDouble();
}
catch(InputMismatchException e) {
eingeworfeneMuenze = 0;
tastatur.nextLine();
}
//Muenze prüfen //Muenze prüfen
if (!muenzen.contains(eingeworfeneMuenze)) { if (!muenzen.contains(eingeworfeneMuenze)) {
System.out.println("Es wurde eine ungültige Münze eingeworfen! Bitte erneut versuchen"); System.out.println("Es wurde eine ungültige Münze eingeworfen! Bitte erneut versuchen");