public class DivideByZeroDemo
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: }