Source of RecursionDemo.java


  1: 
  2: import java.util.Scanner;
  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:          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:         if (number < 10)
 29:             System.out.print(getWordFromDigit(number) + " ");
 30:         else //number has two or more digits
 31:         {
 32:             displayAsWords(number / 10);
 33:             System.out.print(getWordFromDigit(number % 10) + " ");
 34:         }
 35:         }
 36:         
 37:     /**
 38:      Precondition: 0 <= digit <= 9
 39:      Returns the word for the argument digit.
 40:     */
 41:     private static String getWordFromDigit(int digit)
 42:     {
 43:         String result = null;
 44:         switch (digit)
 45:         {
 46:             case 0: result = "zero";  break;
 47:             case 1: result = "one";   break;
 48:             case 2: result = "two";   break;
 49:             case 3: result = "three"; break;
 50:             case 4: result = "four";  break;
 51:             case 5: result = "five";  break;
 52:             case 6: result = "six";   break;
 53:             case 7: result = "seven"; break;
 54:             case 8: result = "eight"; break;
 55:             case 9: result = "nine";  break;
 56:             default:
 57:                 System.out.println("Fatal Error.");
 58:                 System.exit(0);
 59:                 break;
 60:         }
 61:         return result;
 62:     }
 63: }