Source of IterativeDemo.java


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