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