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
while(true) {
String input ="";
String input = "";
System.out.println("Welche Rechenart soll ausgeführt werden?");
String op[] = {"Multiplikation", "Division", "Exponent", "Fakultät"};
@ -19,24 +18,21 @@ public class Rechner {
System.out.println("[ m | d | e | f ]");
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);
int ergebnis = berechnung(c);
// if (ergebnis != -1)
int ergebnis = berechnung(c);
if (ergebnis != -1) {
System.out.println("Ergebnis: " + ergebnis);
} catch(IllegalArgumentException e) {
System.out.println(e.getMessage());
sc.nextLine();
}
}
System.out.println("\n");
System.out.print("\n");
}
}
@ -63,6 +59,7 @@ public class Rechner {
return ergebnis;
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
sc.nextLine();
ergebnis = -1;
return ergebnis;
}
@ -79,10 +76,12 @@ public class Rechner {
return ergebnis;
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
sc.nextLine();
ergebnis = -1;
return ergebnis;
} catch (ArithmeticException e) {
System.out.println(e.getMessage());
sc.nextLine();
ergebnis = -1;
return ergebnis;
}
@ -98,6 +97,7 @@ public class Rechner {
return ergebnis;
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
sc.nextLine();
ergebnis = -1;
return ergebnis;
}
@ -111,13 +111,15 @@ public class Rechner {
return ergebnis;
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
sc.nextLine();
ergebnis = -1;
return ergebnis;
}
default:
System.out.println("Kein gültiges Zeichen eingegeben! Bitte Versuche es erneut.");
return -1;
ergebnis = -1;
return ergebnis;
}
}