TechTorch

Location:HOME > Technology > content

Technology

How to Create a Java Program to Convert Integers 1-9999 into Words

February 23, 2025Technology2325
How to Create a Java Program to Convert Integers 1-9999 into Words Whe

How to Create a Java Program to Convert Integers 1-9999 into Words

When faced with the task of converting integers from 1 to 9999 into words, it may seem like a daunting challenge. However, by breaking down the problem into smaller parts and tackling each component step by step, it becomes much more manageable. Here, we'll guide you through the process of writing a Java program to accomplish this task.

Step 1: Set Up Your Development Environment

Before starting to code, you'll need a text editor or an Integrated Development Environment (IDE) like Eclipse or IntelliJ IDEA. Open your editor and create a new Java project if necessary.

Step 2: Write the Code to Handle Single-Digit Numbers

The foundation of your program starts with handling single-digit numbers. Create a method to return the word form of each digit from 0 to 9. This will be the building block for larger numbers.

public class NumberToWords {
    private static final String[] units  {
        "", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"
    };
    public static String convertSingleDigit(int num) {
        return units[num];
    }
}

Step 3: Extend to Two-Digit Numbers

Next, extend your program to handle two-digit numbers. This involves recognizing the special cases for numbers 10 to 19 and treating numbers 20 to 90 in a different manner.

public class NumberToWords {
    private static final String[] tens  {
       ",", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"
    };
    private static final String[] teens  {
        "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"
    };
    public static String convertTwoDigits(int num) {
        if (num  20) {
            return teens[num - 10];
        } else {
            int tensPart  num / 10;
            int onesPart  num % 10;
            String tensWord  tens[tensPart];
            String onesWord  (onesPart);
            return tensWord   (onesPart  0 ? "-"   onesWord : "");
        }
    }
}

Step 4: Extend to Four-Digit Numbers

Now, extend your program to four-digit numbers. You can achieve this by breaking the number into thousands and hundreds, and then concatenating the results.

public class NumberToWords {
    private static final String[] thousands  {
        "", "one thousand ", "two thousand ", "three thousand ", "four thousand ",
        "five thousand ", "six thousand ", "seven thousand ", "eight thousand ",
        "nine thousand "
    };
    public static String convertFourDigits(int num) {
        int thousandsPart  num / 1000;
        int hundredsPart  (num - (thousandsPart * 1000)) / 100;
        int remainingPart  num % 100;
        String thousandsWord  thousands[thousandsPart];
        String hundredsWord  convertHundreds(hundredsPart);
        String remainingWord  convertTwoDigits(remainingPart);
        if (thousandsPart  0  ()) {
            return thousandsWord   (() ? "" : remainingWord);
        } else if (thousandsPart  0  !()) {
            return thousandsWord   hundredsWord   remainingWord;
        } else {
            return hundredsWord   (thousandsWord  0 ? thousandsWord : "")   (() ? "" : remainingWord);
        }
    }
}

Step 5: Function to Handle Hundreds

To handle the hundreds place, create a helper method that converts the hundreds part of a number into words.

public static String convertHundreds(int num) {
    if (num  0) {
        return "";
    } else {
        String hundredsWord  (num);
        String tensAndOneword  convertTwoDigits(num % 100);
        return hundredsWord   "hundred "   (() ? "" : tensAndOneword);
    }
}

Testing Your Program

Once you have written your program, compile and test it to ensure that it works as expected. Below is an example of how you might set up a simple test.

import ;
public class Main {
    public static void main(String[] args) {
        Scanner scanner  new Scanner();
        ("Enter a number (1-9999): ");
        int number  ();
        ("The word form of the number is: "   (number));
    }
}

This program will take an integer input from the user and output the word form of that number. Make sure to test it with a variety of numbers to ensure its accuracy.

Conclusion

By following these steps, you've successfully written a Java program to convert numbers from 1 to 9999 into their word form. This project is a great exercise in programming and a handy skill to have when dealing with text-to-speech applications or educational tools.