public class IterativeDemo
1:
2: import java.util.Scanner;
3:
4: public class IterativeDemo
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: int divisor = getPowerOfTen(number);
29: int next = number;
30: while (divisor >= 10)
31: {
32: System.out.print(getWordFromDigit(next / divisor) + " ");
33: next = next % divisor;
34: divisor = divisor / 10;
35: }
36: System.out.print(getWordFromDigit(next / divisor) + " ");
37: }
38:
39: // Precondition: n >= 0.
40: // Returns 10 raised to the power n.
41: private static int getPowerOfTen(int n)
42: {
43: int result = 1;
44: while (n >= 10)
45: {
46: result = result * 10;
47: n = n / 10;
48: }
49:
50: return result;
51: }
52:
53: // Precondition: 0 <= digit <= 9
54: // Returns the word for the argument digit.
55: private static String getWordFromDigit(int digit)
56: {
57: String result = null;
58: switch (digit)
59: {
60: case 0: result = "zero"; break;
61: case 1: result = "one"; break;
62: case 2: result = "two"; break;
63: case 3: result = "three"; break;
64: case 4: result = "four"; break;
65: case 5: result = "five"; break;
66: case 6: result = "six"; break;
67: case 7: result = "seven"; break;
68: case 8: result = "eight"; break;
69: case 9: result = "nine"; break;
70: default:
71: System.out.println("Fatal Error.");
72: System.exit(0);
73: break;
74: }
75: return result;
76: }
77: }