Try-catch-Anweisungen in berechnung() hinzugefügt
parent
e9d033d5ef
commit
6c80ae4cda
|
@ -7,6 +7,7 @@ public class Rechner {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
//Endlosschleife
|
||||||
while(true) {
|
while(true) {
|
||||||
|
|
||||||
String input ="";
|
String input ="";
|
||||||
|
@ -20,19 +21,16 @@ public class Rechner {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
input = sc.nextLine();
|
input = sc.nextLine();
|
||||||
if (input.length()!=1)
|
|
||||||
throw new IllegalArgumentException("Nur ein Zeichen eingeben. Versuche es erneut.");
|
//Eingabefehler abfangen
|
||||||
|
if (input.length() != 1)
|
||||||
|
throw new IllegalArgumentException("Bitte nur ein Zeichen eingeben. Versuche es erneut.");
|
||||||
|
|
||||||
char c = input.charAt(0);
|
char c = input.charAt(0);
|
||||||
|
|
||||||
try {
|
int ergebnis = berechnung(c);
|
||||||
int ergebnis = berechnung(c);
|
// if (ergebnis != -1)
|
||||||
System.out.println("Ergebnis: " + ergebnis);
|
System.out.println("Ergebnis: " + ergebnis);
|
||||||
} catch (IllegalArgumentException e) {
|
|
||||||
System.out.println(e.getMessage());
|
|
||||||
} catch(ArithmeticException e) {
|
|
||||||
System.out.println(e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch(IllegalArgumentException e) {
|
} catch(IllegalArgumentException e) {
|
||||||
System.out.println(e.getMessage());
|
System.out.println(e.getMessage());
|
||||||
|
@ -60,8 +58,15 @@ public class Rechner {
|
||||||
int faktor1 = sc.nextInt();
|
int faktor1 = sc.nextInt();
|
||||||
System.out.print("Zweiten Faktor eingeben: ");
|
System.out.print("Zweiten Faktor eingeben: ");
|
||||||
int faktor2 = sc.nextInt();
|
int faktor2 = sc.nextInt();
|
||||||
ergebnis = multiplizieren(faktor1, faktor2);
|
try {
|
||||||
return ergebnis;
|
ergebnis = multiplizieren(faktor1, faktor2);
|
||||||
|
return ergebnis;
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
System.out.println(e.getMessage());
|
||||||
|
ergebnis = -1;
|
||||||
|
return ergebnis;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
case 'd':
|
case 'd':
|
||||||
System.out.println("\n* Division *");
|
System.out.println("\n* Division *");
|
||||||
|
@ -69,8 +74,18 @@ public class Rechner {
|
||||||
int dividend = sc.nextInt();
|
int dividend = sc.nextInt();
|
||||||
System.out.print("Divisor eingeben: ");
|
System.out.print("Divisor eingeben: ");
|
||||||
int divisor = sc.nextInt();
|
int divisor = sc.nextInt();
|
||||||
ergebnis = dividieren(dividend, divisor);
|
try {
|
||||||
return ergebnis;
|
ergebnis = dividieren(dividend, divisor);
|
||||||
|
return ergebnis;
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
System.out.println(e.getMessage());
|
||||||
|
ergebnis = -1;
|
||||||
|
return ergebnis;
|
||||||
|
} catch (ArithmeticException e) {
|
||||||
|
System.out.println(e.getMessage());
|
||||||
|
ergebnis = -1;
|
||||||
|
return ergebnis;
|
||||||
|
}
|
||||||
|
|
||||||
case 'e':
|
case 'e':
|
||||||
System.out.println("\n* Exponent *");
|
System.out.println("\n* Exponent *");
|
||||||
|
@ -78,17 +93,30 @@ public class Rechner {
|
||||||
int grundwert = sc.nextInt();
|
int grundwert = sc.nextInt();
|
||||||
System.out.print("Exponent eingeben: ");
|
System.out.print("Exponent eingeben: ");
|
||||||
int exponent = sc.nextInt();
|
int exponent = sc.nextInt();
|
||||||
ergebnis = exponent(grundwert, exponent);
|
try {
|
||||||
return ergebnis;
|
ergebnis = exponent(grundwert, exponent);
|
||||||
|
return ergebnis;
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
System.out.println(e.getMessage());
|
||||||
|
ergebnis = -1;
|
||||||
|
return ergebnis;
|
||||||
|
}
|
||||||
|
|
||||||
case 'f':
|
case 'f':
|
||||||
System.out.println("\n* Fakultät *");
|
System.out.println("\n* Fakultät *");
|
||||||
System.out.print("Zahl eingeben: ");
|
System.out.print("Zahl eingeben: ");
|
||||||
int n = sc.nextInt();
|
int n = sc.nextInt();
|
||||||
ergebnis = fakultaet(n);
|
try {
|
||||||
return ergebnis;
|
ergebnis = fakultaet(n);
|
||||||
|
return ergebnis;
|
||||||
|
} catch (IllegalArgumentException e) {
|
||||||
|
System.out.println(e.getMessage());
|
||||||
|
ergebnis = -1;
|
||||||
|
return ergebnis;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
System.out.println("Kein gültiges Zeichen eingegeben! Bitte Versuche es erneut.");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -164,11 +192,11 @@ public class Rechner {
|
||||||
* @throws IllegalArgumentException Wenn die Zahl negativ ist
|
* @throws IllegalArgumentException Wenn die Zahl negativ ist
|
||||||
*/
|
*/
|
||||||
public static int fakultaet(int n) throws IllegalArgumentException {
|
public static int fakultaet(int n) throws IllegalArgumentException {
|
||||||
if (n < 0)
|
if (n < 0) {
|
||||||
throw new IllegalArgumentException();
|
throw new IllegalArgumentException("Zahl darf nicht negativ sein.");
|
||||||
if (n == 0)
|
} else if (n == 0)
|
||||||
return 0;
|
return 0;
|
||||||
if (n == 1 || n == 2)
|
else if (n == 1 || n == 2)
|
||||||
return n;
|
return n;
|
||||||
else {
|
else {
|
||||||
return fakultaet(n-1) * n;
|
return fakultaet(n-1) * n;
|
||||||
|
|
Loading…
Reference in New Issue