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

Java program to input numbers and display them in text form

王林
Release: 2023-09-06 20:57:07
forward
846 people have browsed it

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
Copy after login

Example 2

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

Example 3

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

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;
      }
   }
}
Copy after login

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.
Copy after login

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!

Related labels:
source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template