Home  >  Article  >  Java  >  Java program to input numbers and display them in text form

Java program to input numbers and display them in text form

王林
王林forward
2023-09-06 20:57:07792browse

Java program to input numbers and display them in text form

Numbers are basically represented in numeric format, or as integer values. But for pronunciation, we use words. Each number has a unique word format.

For example, the word format of 1 is "One". Just like the word format for 2 is "two", the word format for 3 is "three"...and so on. For two digits, the number format is slightly different. 21 stands for "twenty-one", 45 stands for "forty-five"...and so on. Therefore, for all types of numbers, there is a unique word format available.

Show you some examples

Example 1

Input number is 15.
Word format of 15 = Fifteen

Example 2

Input number is 123.
Word format of 123 = One Hundred Twenty-Three

Example 3

Input number is 4532.
Word format of 4532 = Four Thousand Five Hundred Thirty-Two.

algorithm

Step-1 - Get the entered number through the static input method.

Step-2 - Declare an array of string type and store the numbers in the string.

Step-3 - Then we declare some other arrays of string type in which we store word formats of different types of numbers such as one digit, two digit, hundreds and thousands positions ( Here we have only written the code up to four digits, you can further extend it as per your requirement).

Step-4 - We are finding the length of a given number. Depending on the length of the numbers, we have different conditions to concatenate the index values ​​of the array.

Step-5 - After completing the process, we print the number and its text format.

method

We provide solutions in different ways.

  • Through user-defined methods with static input values.

Let’s look at the program and its output one by one.

Methods - By using user-defined methods and static input values

In this method we declare some random input numbers through static input and pass these numbers as parameters into user defined method and then using algorithm inside the method we can print the literal format of the given number.

Example

public class Main{
   public static void main(String args[]) {
      digitToWord("1234".toCharArray());
      digitToWord("557".toCharArray());
      digitToWord("45".toCharArray());
      digitToWord("2".toCharArray());
      digitToWord("0".toCharArray());
      digitToWord("801".toCharArray());
      digitToWord("54312".toCharArray());
      //passing empty string
      digitToWord("".toCharArray());
   }
   static void digitToWord(char n[]) {
      int len = n.length;
      if (len == 0) {
         System.out.println("Empty string.");
         return;
      }
      if (len > 4) {
         System.out.print(String.valueOf(n) + ": ");
         System.out.println("The number you have entered has more than four digits.");
         return;
      }
      String[] unitPlaceDig = new String[] {"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"};
      String[] tensPlaceDig = new String[] {"", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"}; 
      String[] tensMultiplier = new String[] {"", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"};
      String[] powOfTens = new String[] {"Hundred", "Thousand"};
      System.out.print(String.valueOf(n) + ": ");
      if (len == 1){
         System.out.println(unitPlaceDig[n[0]-'0']);
         return;
      }
      int p = 0;
      while (p < n.length) {
         if (len >= 3){
            if (n[p] - '0' != 0) {
               System.out.print(unitPlaceDig[n[p] - '0'] + " ");
               System.out.print(powOfTens[len - 3]+ " ");
            }
            --len;
         }
         else {
            if (n[p] - '0' == 1) {
               int sum = n[p] - '0' + n[p + 1] - '0';
               System.out.println(tensPlaceDig[sum]);
               return;
            }
            else if (n[p] - '0' == 2 && n[p + 1] - '0' == 0) {
               System.out.println("Twenty");
               return;
            }
            else {
               int i = (n[p] - '0');
               if (i > 0)
               System.out.print(tensMultiplier[i]+ " ");
               else
               System.out.print("");
               ++p;
               if (n[p] - '0' != 0)
               System.out.println(unitPlaceDig[n[p] - '0']);
            } 
         }
         ++p;
      }
   }
}

Output

1234: One Thousand Two Hundred Thirty Four
557: Five Hundred Fifty Seven
45: Forty Five
2: Two
0: Zero
801: Eight Hundred One
54312: The number you have entered has more than four digits.
Empty string.

In this article, we explored how to accept numeric input and display that number as text in Java.

The above is the detailed content of Java program to input numbers and display them in text form. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete