Source of IterativeDemo.java


  1: 
  2: import java.util.Scanner;
  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:          displayAsWords(number);
 13:          System.out.println( );
 14:                  
 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:          displayAsWords(number);
 19:          System.out.println( );
 20:     }
 21: 
 22:     /**
 23:      Precondition: number >= 0
 24:          Displays the digits in number as words.
 25:     */
 26:     public static void displayAsWords(int number)
 27:     {
 28:         int divisor = getPowerOfTen(number);
 29:         int next = number;
 30:         while (divisor >= 10)
 31:         {
 32:             System.out.print(getWordFromDigit(next / divisor) + " ");
 33:             next = next % divisor;
 34:             divisor = divisor / 10;
 35:         }
 36:         System.out.print(getWordFromDigit(next / divisor) + " ");
 37:     }
 38: 
 39:     // Precondition: n >= 0. 
 40:     // Returns 10 raised to the power n.
 41:         private static int getPowerOfTen(int n)
 42:     {
 43:         int result = 1;
 44:         while (n >= 10)
 45:         {
 46:            result = result * 10;
 47:            n = n / 10;
 48:         }
 49:                 
 50:         return result;
 51:     }
 52: 
 53:     // Precondition: 0 <= digit <= 9
 54:     // Returns the word for the argument digit.
 55:     private static String getWordFromDigit(int digit)
 56:     {
 57:         String result = null;
 58:         switch (digit)
 59:         {
 60:             case 0: result = "zero";  break;
 61:             case 1: result = "one";   break;
 62:             case 2: result = "two";   break;
 63:             case 3: result = "three"; break;
 64:             case 4: result = "four";  break;
 65:             case 5: result = "five";  break;
 66:             case 6: result = "six";   break;
 67:             case 7: result = "seven"; break;
 68:             case 8: result = "eight"; break;
 69:             case 9: result = "nine";  break;
 70:             default:
 71:                 System.out.println("Fatal Error.");
 72:                 System.exit(0);
 73:                 break;
 74:         }
 75:         return result;
 76:     }
 77: }