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