Friday, May 14, 2021

Number To Words in Java With Error Handling

 Machine Problem

Create a program that converts numbers to words using Java programming language.


I am currently accepting programming work, IT projects, school and application development, programming projects, thesis and capstone projects, IT consulting work, computer tutorials, and web development work kindly contact me at the following email address for further details.  If you want to advertise on my website kindly contact me also in my email address also. Thank you.

My email address is jakerpomperada@gmail.com and jakerpomperada@yahoo.com









Program Listing

/* Number_Words.java

 * Mr. Jake Rodriguez Pomperada,MAED-IT, MIT

 * www.jakerpomperada.com www.jakerpomperada.blogspot.com

 * jakerpomperada@gmail.com

 * Bacolod City, Negros Occidental Philippines

 */


import java.util.Scanner;


 public class Number_Words {

 

   public static void main(String[] args) {

int number = 0;

Scanner input = new Scanner(System.in);


    boolean valid;

    

    do {

    System.out.println();

    System.out.print("\tNumber To Words in Java\n\n");

    System.out.print("Enter Number: ");

 

   number = input.nextInt();

   valid = (number >= 1   && number <= 100000);

       System.out.println();

           

       if (number > 100000) {

    System.out.print("Number is out of range!\n");

   

       } else if (!valid) {

        System.out.println("Negative numbers, zero, and numbers greater than 100,000 are invalid input.");

         } 

       else {

System.out.print(numberToWord(number));

   }

   }while (!valid);

   System.out.println("\n");

  System.out.println("End of Program");

  input.close();

   }

 

   private static String numberToWord(int number) {

        

        String words = "";

        String unitsArray[] = { "zero", "one", "two", "three", "four", "five", "six", 

                      "seven", "eight", "nine", "ten", "eleven", "twelve",

                      "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", 

                      "eighteen", "nineteen" };

String tensArray[] = { "zero", "ten", "twenty", "thirty", "forty", "fifty",

                      "sixty", "seventy", "eighty", "ninety" };

 

if (number == 0) {

    return "zero";

}

if (number < 0) { 

          

           String numberStr = "" + number; 

           

           numberStr = numberStr.substring(1); 

          

           return "minus " + numberToWord(Integer.parseInt(numberStr)); 

        } 

      

if ((number / 1000) > 0) {

    words += numberToWord(number / 1000) + " thousand ";

    number %= 1000;

}

if ((number / 100) > 0) {

     words += numberToWord(number / 100) + " hundred ";

     number %= 100;

}

 

if (number > 0) {

    

     if (number < 20) { 

                    

                    words += unitsArray[number];

             } else { 

               

                words += tensArray[number / 10]; 

                if ((number % 10) > 0) {

    words += "-" + unitsArray[number % 10];

                }  

     }

          }

  return words;

   }

}

No comments:

Post a Comment