Source of DivideByZeroDemo.java


  1: //DivideByZeroDemo.java
  2: 
  3: import java.util.Scanner;
  4: 
  5: public class DivideByZeroDemo
  6: {
  7:     private int numerator;
  8:     private int denominator;
  9:     private double quotient;
 10: 
 11:     public static void main(String[] args)
 12:     {
 13:         DivideByZeroDemo oneTime = new DivideByZeroDemo();
 14:         oneTime.doIt();
 15:     }
 16: 
 17:     public void doIt()
 18:     {
 19:         try
 20:         {
 21:             System.out.print("\nEnter numerator: ");
 22:             Scanner keyboard = new Scanner(System.in);
 23:             numerator = keyboard.nextInt();
 24:             System.out.print("Enter denominator: ");
 25:             denominator = keyboard.nextInt();
 26:             if (denominator == 0) throw new DivideByZeroException();
 27:             quotient = numerator / (double)denominator;
 28:             System.out.println(numerator + "/" + denominator + " = "
 29:                 + quotient);
 30:         }
 31:         catch(DivideByZeroException e)
 32:         {
 33:             System.out.println(e.getMessage());
 34:             giveSecondChance();
 35:         }
 36:         System.out.println("End of program.");
 37:     }
 38: 
 39:     public void giveSecondChance()
 40:     {
 41:         System.out.println("\nTry again:");
 42:         System.out.print("Enter numerator: ");
 43:         Scanner keyboard = new Scanner(System.in);
 44:         numerator = keyboard.nextInt();
 45:         System.out.print("Enter denominator and be sure ");
 46:         System.out.print("it is not zero: ");
 47:         denominator = keyboard.nextInt();
 48:         if (denominator == 0)
 49:         {
 50:             System.out.println("I cannot do division by zero.");
 51:             System.out.println("Since I cannot do what you want,");
 52:             System.out.println("the program will now end.");
 53:             System.exit(0);
 54:         }
 55:         quotient = ((double)numerator) / denominator;
 56:                 System.out.println(numerator + "/" + denominator 
 57:                                                              + " = " + quotient);
 58:     }
 59: }
 60: