public class IterativeDemo
1: //IterativeDemo.java
2:
3: import java.util.Scanner;
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: displayAsWords(number);
14: System.out.println();
15:
16: System.out.println("If you add ten to that number, ");
17: System.out.println("the digits in the new number are:");
18: number = number + 10;
19: displayAsWords(number);
20: System.out.println();
21: }
22:
23: /**
24: * Precondition: number >= 0.
25: * Displays the digits in number as words.
26: */
27: public static void displayAsWords
28: (
29: int number
30: )
31: {
32: int divisor = getPowerOfTen(number);
33: int next = number;
34: while (divisor >= 10)
35: {
36: System.out.print(getWordFromDigit(next / divisor) + " ");
37: next = next % divisor;
38: divisor = divisor / 10;
39: }
40: System.out.print(getWordFromDigit(next / divisor) + " ");
41: }
42:
43: //Precondition: n >= 0.
44: //Returns 10 raised to the power n.
45: private static int getPowerOfTen(int n)
46: {
47: int result = 1;
48: while (n >= 10)
49: {
50: result = result * 10;
51: n = n / 10;
52: }
53: return result;
54: }
55:
56: //Precondition: 0 <= digit <= 9
57: //Returns the word for the argument digit.
58: private static String getWordFromDigit(int digit)
59: {
60: String result = null;
61: switch (digit)
62: {
63: case 0:
64: result = "zero";
65: break;
66: case 1:
67: result = "one";
68: break;
69: case 2:
70: result = "two";
71: break;
72: case 3:
73: result = "three";
74: break;
75: case 4:
76: result = "four";
77: break;
78: case 5:
79: result = "five";
80: break;
81: case 6:
82: result = "six";
83: break;
84: case 7:
85: result = "seven";
86: break;
87: case 8:
88: result = "eight";
89: break;
90: case 9:
91: result = "nine";
92: break;
93: default:
94: System.out.println("Fatal Error.");
95: System.exit(0);
96: break;
97: }
98: return result;
99: }
100: }