Source of DivideByZeroExceptionDemo.java


  1: 
  2: import java.util.*;
  3: 
  4: public class DivideByZeroExceptionDemo
  5: {
  6:     private int numerator;
  7:     private int denominator;
  8:     private double quotient;
  9: 
 10:     public static void main(String[] args)
 11:     {
 12:         DivideByZeroExceptionDemo oneTime =
 13:                               new DivideByZeroExceptionDemo( );
 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 + "/"
 32:                                  + denominator
 33:                                  + " = " + quotient);
 34:         }
 35:         catch(DivideByZeroException e)
 36:         {
 37:             System.out.println(e.getMessage( ));
 38:             secondChance( );
 39:         }
 40: 
 41:         System.out.println("End of Program.");
 42:     }
 43: 
 44:     public void secondChance( )
 45:     {
 46:         System.out.println("Try again:");
 47:         System.out.println("Enter numerator:");
 48:         Scanner keyboard = new Scanner(System.in);
 49: 
 50:         numerator = keyboard.nextInt( );
 51:         System.out.println("Enter denominator:");
 52:         System.out.println("Be sure the denominator is not zero.");
 53:         denominator = keyboard.nextInt( );
 54: 
 55:         if (denominator == 0)
 56:         {
 57:             System.out.println("I cannot do division by zero.");
 58:             System.out.println("Since I cannot do what you want,");
 59:             System.out.println("the program will now end.");
 60:             System.exit(0);
 61:         }
 62: 
 63:         quotient = ((double)numerator)/denominator;
 64:         System.out.println(numerator + "/"
 65:                                      + denominator
 66:                                      + " = " + quotient);
 67:     }
 68: }
 69: 
 70: 
 71: 
 72: 
 73: 
 74: