public class RecursionDemo
1:
2: import java.util.*;
3:
4: public class RecursionDemo
5: {
6: public static void main(String[] args)
7: {
8: System.out.println("Enter an integer:");
9: Scanner keyboard = new Scanner(System.in);;
10: int number = keyboard.nextInt( );
11: System.out.println("The digits in that number are:");
12: inWords(number);
13: System.out.println( );
14: System.out.println("If you add ten to that number, ");
15: System.out.println("the digits in the new number are:");
16: number = number + 10;
17: inWords(number);
18: System.out.println( );
19: }
20:
21:
22: /**
23: Precondition: number >= 0
24: Action: The digits in number are written out in words.
25: */
26: public static void inWords(int number)
27: {
28: if (number < 10)
29: System.out.print(digitWord(number) + " ");
30: else //number has two or more digits
31: {
32: inWords(number/10);
33: System.out.print(digitWord(number%10) + " ");
34: }
35: }
36:
37: /**
38: Precondition: 0 <= digit <= 9
39: Returns the word for the argument digit.
40: */
41: private static String digitWord(int digit)
42: {
43: String result = null;
44: switch (digit)
45: {
46: case 0:
47: result = "zero";
48: break;
49: case 1:
50: result = "one";
51: break;
52: case 2:
53: result = "two";
54: break;
55: case 3:
56: result = "three";
57: break;
58: case 4:
59: result = "four";
60: break;
61: case 5:
62: result = "five";
63: break;
64: case 6:
65: result = "six";
66: break;
67: case 7:
68: result = "seven";
69: break;
70: case 8:
71: result = "eight";
72: break;
73: case 9:
74: result = "nine";
75: break;
76: default:
77: System.out.println("Fatal Error.");
78: System.exit(0);
79: break;
80: }
81: return result;
82: }
83: }