Source of IterativeDemo.java


  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: }