Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Java Program For Int to Char Conversion

  • Last Updated : 18 Jan, 2022

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 switch case using length() method
        for (int i = 0; i < s.length(); i++) {
 
            // Switch 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("InValid ");
                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 a 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("InValid ");
                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 function(Method1)
        NumbertoCharacter(n);
    }
}


Output

one two three four five 

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




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!