Ich habe zwei Schleifen zusammen gestellt, die die Exceptions catchen soll.
Ich möchte aber gern beide Exceptions zum richtigen Zeitpunkt bei der Eingabe catchen.
Dabei hab ich versucht die einzelnen Abläufe in einzelnen do-while Schleife Blöcke zu unterteilen.
Erster Block:
Das Problem ist jetzt aber:
Wie kann ich für den 2. Block die Exceptions catchen wenn zum einen die erste Zahl nicht durch 0 Teilbar sein darf und nur ganze Zahlen eingegeben werden dürfen.
Und wie kann ich dann auf die eingegebenen Zahlen dann wieder zugreifen für das Ergebnis zum Schluss.
Mit freundlichen Grüßen
ExceptionLover69
Java:
import java.util.*;
import java.io.*;
public class Test1GG3 {
public static void main(String[] args) {
Scanner sc1 = new Scanner(System.in);
int i=1;
boolean error=true;
System.out.println("*** Dividieren von ganzen Zahlen ***");
System.out.println("");
do { // Benutzer wird aufgefordert nicht durch 0 zu teilen
try {
System.out.println("Geben Sie ihre erste Zahl ein:");
int n1 = sc1.nextInt();
System.out.println("Geben Sie ihre zweite Zahl ein:");
int n2 = sc1.nextInt();
int sum = n1/n2;
System.out.println("Ihr Ergebnis lautet: " + sum);
i=2;
} catch(ArithmeticException e) {
System.out.println("Sie können nicht durch 0 teilen!");
System.out.println("Versuchen Sie es erneut.");
System.out.println("");
System.out.println("");
} //end of try
} while (i==1);
while(error){ //Benutzer wird aufgefordert nur Zahlen einzugeben.
Scanner sc=new Scanner(System.in);
System.out.println("Bitte geben Sie eine ganze Zahl ein:");
try{
int x=sc.nextInt();
error=false;
} catch(InputMismatchException e){
error=true;
}
}
}
}
Ich möchte aber gern beide Exceptions zum richtigen Zeitpunkt bei der Eingabe catchen.
Dabei hab ich versucht die einzelnen Abläufe in einzelnen do-while Schleife Blöcke zu unterteilen.
Erster Block:
Java:
do { //Benutzer wird bei der ersten Zahl aufgefordert eine ganze Zahl einzugeben.
Scanner sc1=new Scanner(System.in);
try {
System.out.println("Geben Sie ihre erste Zahl ein:");
int n1 = sc1.nextInt();
error=false;
i=2;
}
catch(InputMismatchException e){
error=true;
System.out.println("Bitte geben Sie eine ganze Zahl ein:");
}
} while (i==1);
Das Problem ist jetzt aber:
Wie kann ich für den 2. Block die Exceptions catchen wenn zum einen die erste Zahl nicht durch 0 Teilbar sein darf und nur ganze Zahlen eingegeben werden dürfen.
Und wie kann ich dann auf die eingegebenen Zahlen dann wieder zugreifen für das Ergebnis zum Schluss.
Mit freundlichen Grüßen
ExceptionLover69