public class IterativeDemo
1:
2: import java.util.*;
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: 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: Precondition: number >= 0
23: Action: The digits in number are written out in words.
24: */
25: public static void inWords(int number)
26: {
27: int divisor = powerOfTen(number);
28: int next = number;
29: while (divisor >= 10)
30: {
31: System.out.print(digitWord(next/divisor) + " ");
32: next = next%divisor;
33: divisor = divisor/10;
34: }
35: System.out.print(digitWord(next/divisor) + " ");
36: }
37:
38: /**
39: Precondition: n >= 0. Returns the number in the form "one
40: followed by all zeros that is the same length as n."
41: */
42: private static int powerOfTen(int n)
43: {
44: int result = 1;
45: while(n >= 10)
46: {
47: result = result*10;
48: n = n/10;
49: }
50: return result;
51: }
52:
53: private static String digitWord(int digit)
54: {
55: String result = null;
56: switch (digit)
57: {
58: case 0:
59: result = "zero";
60: break;
61: case 1:
62: result = "one";
63: break;
64: case 2:
65: result = "two";
66: break;
67: case 3:
68: result = "three";
69: break;
70: case 4:
71: result = "four";
72: break;
73: case 5:
74: result = "five";
75: break;
76: case 6:
77: result = "six";
78: break;
79: case 7:
80: result = "seven";
81: break;
82: case 8:
83: result = "eight";
84: break;
85: case 9:
86: result = "nine";
87: break;
88: default:
89: System.out.println("Fatal Error.");
90: System.exit(0);
91: break;
92: }
93: return result;
94: }
95: }