import java.util.Scanner;
import java.util.InputMismatchException;
Illustrates the need for exceptions to handle input such as: 7, seven, and dividing by 0
public class DivideTwoNumbers_01{
public static int getInt(Scanner scanner, String prompt){
while(true){
System.out.print(prompt);
try{
return scanner.nextInt();
}catch(InputMismatchException e){
System.err.println("Sorry, unable to parse an integer :(");
String garbage = scanner.next();
System.err.println("DEBUGGING: Ignoring '" + garbage + "'");
}
}
}
public static void main( String[] args ){
Scanner stdinScanner = new Scanner( System.in );
int num1 = 0;
int num2 = 0;
int result = 0;
boolean success = false;
while(success == false){
num1 = getInt( stdinScanner, "Please enter a number: ");
num2 = getInt( stdinScanner, "Please enter another number: ");
try{
result = num1 / num2;
success = true;
}catch(ArithmeticException e){
System.err.println("Error trying to divide by zero: " + e);
}
}
System.out.println( num1 + " divided by " + num2 + " equals " + result);
}
}