Advertisement
dimipan80

Number as Words

Aug 7th, 2014
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.49 KB | None | 0 0
  1. /* Write a program that converts a number in the range [0…999] to words,
  2.  * corresponding to the English pronunciation. */
  3.  
  4. import java.util.Scanner;
  5.  
  6. public class NumberAsWords {
  7.  
  8.     public static void main(String[] args) {
  9.         // TODO Auto-generated method stub
  10.         Scanner scan = new Scanner(System.in);
  11.         System.out.print("Enter a whole number in the range [0 .. 999]: ");
  12.         int number = scan.nextInt();
  13.         scan.close();
  14.  
  15.         if (number > 0 && number < 1000) {
  16.             if (number > 99) {
  17.                 int hundred = number / 100;
  18.                 switch (hundred) {
  19.                 case 1:
  20.                     System.out.print("One ");
  21.                     break;
  22.                 case 2:
  23.                     System.out.print("Two ");
  24.                     break;
  25.                 case 3:
  26.                     System.out.print("Three ");
  27.                     break;
  28.                 case 4:
  29.                     System.out.print("Four ");
  30.                     break;
  31.                 case 5:
  32.                     System.out.print("Five ");
  33.                     break;
  34.                 case 6:
  35.                     System.out.print("Six ");
  36.                     break;
  37.                 case 7:
  38.                     System.out.print("Seven ");
  39.                     break;
  40.                 case 8:
  41.                     System.out.print("Eight ");
  42.                     break;
  43.                 case 9:
  44.                     System.out.print("Nine ");
  45.                     break;
  46.  
  47.                 default:
  48.                     break;
  49.                 }
  50.  
  51.                 System.out.print("hundred");
  52.  
  53.                 number %= 100;
  54.                 if (number > 0) {
  55.                     System.out.print(" and ");
  56.                 }
  57.             }
  58.  
  59.             if (number >= 20) {
  60.                 int ten = number / 10;
  61.                 switch (ten) {
  62.                 case 2:
  63.                     System.out.print("twenty");
  64.                     break;
  65.                 case 3:
  66.                     System.out.print("thirty");
  67.                     break;
  68.                 case 4:
  69.                     System.out.print("forty");
  70.                     break;
  71.                 case 5:
  72.                     System.out.print("fifty");
  73.                     break;
  74.                 case 6:
  75.                     System.out.print("sixty");
  76.                     break;
  77.                 case 7:
  78.                     System.out.print("seventy");
  79.                     break;
  80.                 case 8:
  81.                     System.out.print("eighty");
  82.                     break;
  83.                 case 9:
  84.                     System.out.print("ninety");
  85.                     break;
  86.  
  87.                 default:
  88.                     break;
  89.                 }
  90.  
  91.                 int lastDigit = number % 10;
  92.                 if (lastDigit > 0) {
  93.                     System.out.print(" ");
  94.                     printTheLastDigitFrom1To9(lastDigit);
  95.                 }
  96.             } else {
  97.                 if (number < 10) {
  98.                     printTheLastDigitFrom1To9(number);
  99.                 } else {
  100.                     switch (number) {
  101.                     case 10:
  102.                         System.out.print("ten");
  103.                         break;
  104.                     case 11:
  105.                         System.out.print("eleven");
  106.                         break;
  107.                     case 12:
  108.                         System.out.print("twelve");
  109.                         break;
  110.                     case 13:
  111.                         System.out.print("thirteen");
  112.                         break;
  113.                     case 14:
  114.                         System.out.print("fourteen");
  115.                         break;
  116.                     case 15:
  117.                         System.out.print("fifteen");
  118.                         break;
  119.                     case 16:
  120.                         System.out.print("sixteen");
  121.                         break;
  122.                     case 17:
  123.                         System.out.print("seventeen");
  124.                         break;
  125.                     case 18:
  126.                         System.out.print("eighteen");
  127.                         break;
  128.                     case 19:
  129.                         System.out.print("nineteen");
  130.                         break;
  131.  
  132.                     default:
  133.                         break;
  134.                     }
  135.                 }
  136.             }
  137.  
  138.         } else if (number == 0) {
  139.             System.out.println("Zero");
  140.         } else {
  141.             System.out.println("Error! - The number is Out of Range!!!");
  142.         }
  143.     }
  144.  
  145.     private static void printTheLastDigitFrom1To9(int digit) {
  146.         // TODO Auto-generated method stub
  147.         switch (digit) {
  148.         case 1:
  149.             System.out.print("one");
  150.             break;
  151.         case 2:
  152.             System.out.print("two");
  153.             break;
  154.         case 3:
  155.             System.out.print("three");
  156.             break;
  157.         case 4:
  158.             System.out.print("four");
  159.             break;
  160.         case 5:
  161.             System.out.print("five");
  162.             break;
  163.         case 6:
  164.             System.out.print("six");
  165.             break;
  166.         case 7:
  167.             System.out.print("seven");
  168.             break;
  169.         case 8:
  170.             System.out.print("eight");
  171.             break;
  172.         case 9:
  173.             System.out.print("nine");
  174.             break;
  175.  
  176.         default:
  177.             break;
  178.         }
  179.     }
  180.  
  181. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement