public class RecursionDemo
1:
2: import java.util.Scanner;
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: displayAsWords(number);
13: System.out.println( );
14:
15: System.out.println("If you add ten to that number, ");
16: System.out.println("the digits in the new number are:");
17: number = number + 10;
18: displayAsWords(number);
19: System.out.println( );
20: }
21:
22: /**
23: Precondition: number >= 0
24: Displays the digits in number as words.
25: */
26: public static void displayAsWords(int number)
27: {
28: if (number < 10)
29: System.out.print(getWordFromDigit(number) + " ");
30: else //number has two or more digits
31: {
32: displayAsWords(number / 10);
33: System.out.print(getWordFromDigit(number % 10) + " ");
34: }
35: }
36:
37: /**
38: Precondition: 0 <= digit <= 9
39: Returns the word for the argument digit.
40: */
41: private static String getWordFromDigit(int digit)
42: {
43: String result = null;
44: switch (digit)
45: {
46: case 0: result = "zero"; break;
47: case 1: result = "one"; break;
48: case 2: result = "two"; break;
49: case 3: result = "three"; break;
50: case 4: result = "four"; break;
51: case 5: result = "five"; break;
52: case 6: result = "six"; break;
53: case 7: result = "seven"; break;
54: case 8: result = "eight"; break;
55: case 9: result = "nine"; break;
56: default:
57: System.out.println("Fatal Error.");
58: System.exit(0);
59: break;
60: }
61: return result;
62: }
63: }