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){
            // get two numbers from the user
            num1 = getInt( stdinScanner, "Please enter a number: ");
            num2 = getInt( stdinScanner, "Please enter another number: ");

            try{
                // calculate the result
                result = num1 / num2;
                success = true;
            }catch(ArithmeticException e){
                System.err.println("Error trying to divide by zero: " + e);
            }
        }

        // display the result
        System.out.println( num1 + " divided by " + num2 + " equals " + result);
    }
}