public class DoDivision
1: //DoDivision.java
2: //Introduces the "throws" keyword.
4: import java.util.Scanner;
6: public class DoDivision
7: {
8: private int numerator;
9: private int denominator;
10: private double quotient;
12: public static void main(String[] args)
13: {
14: DoDivision doIt = new DoDivision();
15: try
16: {
17: doIt.doNormalCase();
18: }
19: catch(DivideByZeroException e)
20: {
21: System.out.println(e.getMessage());
22: doIt.giveSecondChance();
23: }
24: System.out.println("End of Program.");
25: }
27: public void doNormalCase() throws DivideByZeroException
28: {
29: System.out.print("\nEnter numerator: ");
30: Scanner keyboard = new Scanner(System.in);
31: numerator = keyboard.nextInt();
32: System.out.print("Enter denominator: ");
33: denominator = keyboard.nextInt();
34: if (denominator == 0) throw new DivideByZeroException();
35: quotient = numerator / (double)denominator;
36: System.out.println(numerator + "/" + denominator +
37: " = " + quotient);
38: }
40: public void giveSecondChance()
41: {
42: System.out.println("\nTry Again:");
43: System.out.print("Enter numerator: ");
44: Scanner keyboard = new Scanner(System.in);
45: numerator = keyboard.nextInt();
46: System.out.print("Enter denominator and be sure ");
47: System.out.print("it is not zero: ");
48: denominator = keyboard.nextInt();
49: if (denominator == 0)
50: {
51: System.out.println("I cannot do division by zero.");
52: System.out.println("Since I cannot do what you want,");
53: System.out.println("the program will now end.");
54: System.exit(0);
55: }
56: quotient = ((double)numerator) / denominator;
57: System.out.println(numerator + "/" + denominator +
58: " = " + quotient);
59: }
60: }