Skip to content
Related Articles

Related Articles

Java Program For Int to Char Conversion
  • Last Updated : 09 Mar, 2021

Given an Integer N. The task is to convert the number in characters.

Illustration: 

Input : N = 74254 
Output: Seven four two five four
 
Input : N = 23 
Output: Two three 

Methods:

  1. Without using modulo operator(Naive approach)
  2. Using modulo operator(optimal approach)

Approach:

  1. Convert a number into a string.
  2. Start traversing the string and print the equivalent character string for the number.

Implementation:



Example 1

Java




// Java program to Convert Number in Characters
  
// Importing input output classes
import java.io.*;
  
// Main class
public class GFG {
  
    // Method 1
    // To convert number to a character
    static void NumbertoCharacter(String s)
    {
        // Iterating the number taking one digit at a time
        // via swich case using length() method
        for (int i = 0; i < s.length(); i++) {
  
            // Swich case
            // Reading digits obe by one
            // using charAtt() method
            switch (s.charAt(i)) {
  
            // Case1
            case '1':
                System.out.print("one ");
  
                // Break statement to hault
                // normal execution of the program
                break;
  
            // Case 2
            case '2':
                System.out.print("two ");
                break;
  
            // Case 3
            case '3':
                System.out.print("three ");
                break;
  
            // Case 4
            case '4':
                System.out.print("four ");
                break;
  
            // Case 5
            case '5':
                System.out.print("five ");
                break;
  
            // Case 6
            case '6':
                System.out.print("six ");
                break;
  
            // Case 7
            case '7':
                System.out.print("seven ");
                break;
  
            // Case 8
            case '8':
                System.out.print("eight ");
                break;
  
            // Case 9
            case '9':
                System.out.print("nine ");
                break;
  
            // Default case
            case '0':
                System.out.print("zero ");
                break;
            default:
                System.out.print("UnValid ");
                break;
            }
        }
    }
  
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Custom input Integer
        int n = 12345;
  
        // Calling the above function
        NumbertoCharacter(n + "");
    }
}
Output
one two three four five 

Method 2: Using modulo operator(optimal approach)

Procedure:  

  1. Reverse the number.
  2. Iterate through the reversed number from right to left.
  3. Extract the last digit by using modulus, then use switch case to get the corresponding word.
  4. While iterating divide the number by 10.

Implementation:

Example

Java




// Java program to Convert Number in Characters
  
// Importing input output classes
import java.io.*;
  
// Main class 
public class GFG {
      
    // Method 1
    // To convert numbers to characters 
    static void NumbertoCharacter(int n)
    {
        // Initially declaring and initializing
        // reverse of number and remainder to zero
        int rev = 0, r = 0;
  
        // If number is positive  
        while (n > 0) {
            
          // For reversal of number
  
            // The remainder will give
            // the last digit of the number
            r = n % 10;
            rev = rev * 10 + r;
            n = n / 10;
        }
  
        while (rev > 0) {
  
            // Extract the first digit
            // of the reversed number
            r = rev % 10;
  
            // Match it with switch case
            switch (r) {
            case 1:
                System.out.print("one ");
                break;
            case 2:
                System.out.print("two ");
                break;
            case 3:
                System.out.print("three ");
                break;
            case 4:
                System.out.print("four ");
                break;
            case 5:
                System.out.print("five ");
                break;
            case 6:
                System.out.print("six ");
                break;
            case 7:
                System.out.print("seven ");
                break;
            case 8:
                System.out.print("eight ");
                break;
            case 9:
                System.out.print("nine ");
                break;
            case 0:
                System.out.print("zero ");
                break;
                  
            // Default case when above switch cases holds false 
            default:
                System.out.print("UnValid ");
                break;
            }
  
            // Divide the number by 10
            // to get the next number
            rev = rev / 10;
        }
    }
  
    // Method 2
    // Main driver method 
    public static void main(String[] args)
    {
        // Custom input integer 
        int n = 12345;
          
        // Calling the above fuction(Method1)
        NumbertoCharacter(n);
    }
}
Output
one two three four five 

Time complexity: O(k), k is the length of the number. 
Space complexity: O(1) 

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :