Source of DoDivision.java


  1: //DoDivision.java
  2: //Introduces the "throws" keyword.

  4: import java.util.Scanner;

  6: public class DoDivision
  7: {
  8:    private int numerator;
  9:    private int denominator;
 10:    private double quotient;

 12:    public static void main(String[] args)
 13:    {
 14:         DoDivision doIt = new DoDivision();
 15:         try
 16:         {
 17:             doIt.doNormalCase();
 18:         }
 19:         catch(DivideByZeroException e)
 20:         {
 21:             System.out.println(e.getMessage());
 22:             doIt.giveSecondChance();
 23:         }
 24:         System.out.println("End of Program.");
 25:     }

 27:     public void doNormalCase() throws DivideByZeroException
 28:     {
 29:         System.out.print("\nEnter numerator: ");
 30:         Scanner keyboard = new Scanner(System.in);
 31:         numerator = keyboard.nextInt();
 32:         System.out.print("Enter denominator: ");
 33:         denominator = keyboard.nextInt();
 34:         if (denominator == 0) throw new DivideByZeroException();
 35:         quotient = numerator / (double)denominator;
 36:                 System.out.println(numerator + "/" + denominator + 
 37:                                                    " = " + quotient);
 38:    }

 40:    public void giveSecondChance()
 41:    {
 42:         System.out.println("\nTry Again:");
 43:         System.out.print("Enter numerator: ");
 44:         Scanner keyboard = new Scanner(System.in);
 45:         numerator = keyboard.nextInt();
 46:         System.out.print("Enter denominator and be sure ");
 47:         System.out.print("it is not zero: ");
 48:         denominator = keyboard.nextInt();
 49:         if (denominator == 0)
 50:         {
 51:             System.out.println("I cannot do division by zero.");
 52:             System.out.println("Since I cannot do what you want,");
 53:             System.out.println("the program will now end.");
 54:             System.exit(0);
 55:         }
 56:         quotient = ((double)numerator) / denominator;
 57:                 System.out.println(numerator + "/" + denominator + 
 58:                                                    " = " + quotient);
 59:     }
 60: }