Source of RecursionDemo.java


  1: 
  2: import java.util.*;
  3: 
  4: public class RecursionDemo
  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:          inWords(number);
 13:          System.out.println( );
 14:          System.out.println("If you add ten to that number, ");
 15:          System.out.println("the digits in the new number are:");
 16:          number = number + 10;
 17:          inWords(number);
 18:          System.out.println( );
 19:     }
 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:         if (number < 10)
 29:             System.out.print(digitWord(number) + " ");
 30:         else //number has two or more digits
 31:         {
 32:             inWords(number/10);
 33:             System.out.print(digitWord(number%10) + " ");
 34:         }
 35:     }
 36: 
 37:     /**
 38:      Precondition: 0 <= digit <= 9
 39:      Returns the word for the argument digit.
 40:     */
 41:     private static String digitWord(int digit)
 42:     {
 43:         String result = null;
 44:         switch (digit)
 45:         {
 46:             case 0:
 47:                 result = "zero";
 48:                 break;
 49:             case 1:
 50:                 result = "one";
 51:                 break;
 52:             case 2:
 53:                 result = "two";
 54:                 break;
 55:             case 3:
 56:                 result = "three";
 57:                 break;
 58:             case 4:
 59:                 result = "four";
 60:                 break;
 61:             case 5:
 62:                 result = "five";
 63:                 break;
 64:             case 6:
 65:                 result = "six";
 66:                 break;
 67:             case 7:
 68:                 result = "seven";
 69:                 break;
 70:             case 8:
 71:                 result = "eight";
 72:                 break;
 73:             case 9:
 74:                 result = "nine";
 75:                 break;
 76:             default:
 77:                 System.out.println("Fatal Error.");
 78:                 System.exit(0);
 79:                 break;
 80:         }
 81:         return result;
 82:     }
 83: }