Source of DivideByZeroDemo.java


  1: //DivideByZero.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.println("Enter numerator:");
 22:             Scanner keyboard = new Scanner(System.in);
 23:             numerator = keyboard.nextInt();
 24:             System.out.println("Enter denominator:");
 25:             denominator = keyboard.nextInt();
 26: 
 27:             if (denominator == 0)
 28:                 throw new DivideByZeroException();
 29: 
 30:             quotient = numerator / (double)denominator;
 31:             System.out.println(numerator + "/" + denominator +
 32:                                " = " + quotient);
 33:         }
 34:         catch (DivideByZeroException e)
 35:         {
 36:             System.out.println(e.getMessage());
 37:             giveSecondChance();
 38:         }
 39: 
 40:         System.out.println("End of program.");
 41:     }
 42: 
 43:     public void giveSecondChance()
 44:     {
 45:         System.out.println("Try again:");
 46:         System.out.println("Enter numerator:");
 47:         Scanner keyboard = new Scanner(System.in);
 48: 
 49:         numerator = keyboard.nextInt();
 50:         System.out.println("Enter denominator:");
 51:         System.out.println("Be sure the denominator is not zero.");
 52:         denominator = keyboard.nextInt();
 53: 
 54:         if (denominator == 0)
 55:         {
 56:             System.out.println("I cannot do division by zero.");
 57:             System.out.println("Since I cannot do what you want,");
 58:             System.out.println("the program will now end.");
 59:             System.exit(0);
 60:         }
 61: 
 62:         quotient = ((double)numerator) / denominator;
 63:         System.out.println(numerator + "/" + denominator + " = " + quotient);
 64:     }
 65: }