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