Source of DivideByZeroDemo.java


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