public class DivideByZeroExceptionDemo
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: