Schleifen-Fehler behoben

master
andre 2024-06-23 20:25:40 +02:00
parent 6c80ae4cda
commit f8aea0ce36
1 changed files with 19 additions and 17 deletions

View File

@ -9,8 +9,7 @@ public class Rechner {
//Endlosschleife //Endlosschleife
while(true) { while(true) {
String input = "";
String input ="";
System.out.println("Welche Rechenart soll ausgeführt werden?"); System.out.println("Welche Rechenart soll ausgeführt werden?");
String op[] = {"Multiplikation", "Division", "Exponent", "Fakultät"}; String op[] = {"Multiplikation", "Division", "Exponent", "Fakultät"};
@ -19,24 +18,21 @@ public class Rechner {
System.out.println("[ m | d | e | f ]"); System.out.println("[ m | d | e | f ]");
System.out.print("Geben Sie das zugehörige Zeichen an: "); System.out.print("Geben Sie das zugehörige Zeichen an: ");
try {
input = sc.nextLine();
//Eingabefehler abfangen
if (input.length() != 1)
throw new IllegalArgumentException("Bitte nur ein Zeichen eingeben. Versuche es erneut.");
input = sc.nextLine();
if (input.length() > 1) {
System.out.println("Nur ein Zeichen eingeben. Versuche es erneut.");
} else if (input.length() < 1) {
System.out.println("Bitte ein Zeichen eingeben. Versuche es erneut.");
} else {
char c = input.charAt(0); char c = input.charAt(0);
int ergebnis = berechnung(c);
int ergebnis = berechnung(c); if (ergebnis != -1) {
// if (ergebnis != -1)
System.out.println("Ergebnis: " + ergebnis); System.out.println("Ergebnis: " + ergebnis);
sc.nextLine();
} catch(IllegalArgumentException e) { }
System.out.println(e.getMessage());
} }
System.out.println("\n"); System.out.print("\n");
} }
} }
@ -63,6 +59,7 @@ public class Rechner {
return ergebnis; return ergebnis;
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
System.out.println(e.getMessage()); System.out.println(e.getMessage());
sc.nextLine();
ergebnis = -1; ergebnis = -1;
return ergebnis; return ergebnis;
} }
@ -79,10 +76,12 @@ public class Rechner {
return ergebnis; return ergebnis;
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
System.out.println(e.getMessage()); System.out.println(e.getMessage());
sc.nextLine();
ergebnis = -1; ergebnis = -1;
return ergebnis; return ergebnis;
} catch (ArithmeticException e) { } catch (ArithmeticException e) {
System.out.println(e.getMessage()); System.out.println(e.getMessage());
sc.nextLine();
ergebnis = -1; ergebnis = -1;
return ergebnis; return ergebnis;
} }
@ -98,6 +97,7 @@ public class Rechner {
return ergebnis; return ergebnis;
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
System.out.println(e.getMessage()); System.out.println(e.getMessage());
sc.nextLine();
ergebnis = -1; ergebnis = -1;
return ergebnis; return ergebnis;
} }
@ -111,13 +111,15 @@ public class Rechner {
return ergebnis; return ergebnis;
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
System.out.println(e.getMessage()); System.out.println(e.getMessage());
sc.nextLine();
ergebnis = -1; ergebnis = -1;
return ergebnis; return ergebnis;
} }
default: default:
System.out.println("Kein gültiges Zeichen eingegeben! Bitte Versuche es erneut."); System.out.println("Kein gültiges Zeichen eingegeben! Bitte Versuche es erneut.");
return -1; ergebnis = -1;
return ergebnis;
} }
} }