//DivideByZeroDemo.java

import java.util.Scanner;

public class DivideByZeroDemo
{
    private int numerator;
    private int denominator;
    private double quotient;

    public static void main(String[] args)
    {
        DivideByZeroDemo oneTime = new DivideByZeroDemo();
        oneTime.doIt();
    }

    public void doIt()
    {
        try
        {
            System.out.print("\nEnter numerator: ");
            Scanner keyboard = new Scanner(System.in);
            numerator = keyboard.nextInt();
            System.out.print("Enter denominator: ");
            denominator = keyboard.nextInt();
            if (denominator == 0) throw new DivideByZeroException();
            quotient = numerator / (double)denominator;
            System.out.println(numerator + "/" + denominator + " = "
                + quotient);
        }
        catch(DivideByZeroException e)
        {
            System.out.println(e.getMessage());
            giveSecondChance();
        }
        System.out.println("End of program.");
    }

    public void giveSecondChance()
    {
        System.out.println("\nTry again:");
        System.out.print("Enter numerator: ");
        Scanner keyboard = new Scanner(System.in);
        numerator = keyboard.nextInt();
        System.out.print("Enter denominator and be sure ");
        System.out.print("it is not zero: ");
        denominator = keyboard.nextInt();
        if (denominator == 0)
        {
            System.out.println("I cannot do division by zero.");
            System.out.println("Since I cannot do what you want,");
            System.out.println("the program will now end.");
            System.exit(0);
        }
        quotient = ((double)numerator) / denominator;
		System.out.println(numerator + "/" + denominator 
						             + " = " + quotient);
    }
}
