Programa Java para la conversión de Int a Char

Como sabemos, char en Java toma 1 byte mientras que int toma 4 bytes. Entonces, si queremos que el número entero se convierta en carácter, entonces debemos encasillarlo porque los datos que residen en 4 bytes no pueden ingresar en un solo byte. Por lo tanto, antes de seguir adelante, los lectores deben estar bien familiarizados con el encasillado en Java.

Sugerencia: también se recomienda revisar la diferencia entre la conversión de tipos y la conversión de tipos en Java. 

Hay muchas operaciones que se pueden calcular sobre strings pero no sobre caracteres, por lo que generalmente vemos en Java que se calculan muchas operaciones. Aquí, la entrada que se nos proporciona es un valor entero, por ejemplo, ‘ N’ y la tarea es convertir el número en caracteres.

Ilustraciones: 

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

Métodos:

  1. Uso de la caja del interruptor (enfoque ingenuo)
  2. Uso del concepto de encasillamiento (enfoque ingenuo)
  3. Usando el operador de módulo (enfoque óptimo)

Analicemos cada uno de los métodos enumerados anteriormente estableciendo su enfoque correspondiente e implementándolo con la ayuda de códigos Java limpios.

Método 1: Usar la caja del interruptor

Acercarse:

  1. Convierte un número en una string.
  2. Comience a recorrer la string e imprima la string de caracteres equivalente para el número.

Ejemplo:

Java

// Java Program to Convert Integer to 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 one by one
            // using charAt() method
            switch (s.charAt(i)) {
 
            // Case 1
            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;
 
            // Case 10
            case '0':
                System.out.print("zero ");
                break;
 
            // Default case
            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 + "");
    }
}
Producción

one two three four five 

Método 2: Uso del concepto de conversión de tipos

Aquí simplemente escribiremos explícitamente el tipo de datos y lo almacenaremos en el carácter. Como todos sabemos, hay una tabla ASCII que contiene un valor específico correspondiente a 256 símbolos del idioma inglés. Entonces, automáticamente almacenará el símbolo correspondiente correspondiente al dígito.

Ejemplo:

Java

// Java Program to Illustrate Integer to
// Character Conversion
// Using Concept of Type-casting
 
// Importing required classes
import java.util.*;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Custom integer input
        int i = 97;
 
        // Type casting character to integer
        char ch = (char)i;
 
        // Print statement
        System.out.println(ch);
    }
}
Producción

a

De manera similar, podemos hacer lo mismo agregando cero al valor entero y luego haremos lo mismo que hicimos en el ejemplo anterior, es decir, encasillaremos lo mismo anterior.

Ejemplo:

Java

// Java Program to Convert Integer to Character
// of Integer Class Via Type-casting With Adding Zero
 
import java.io.*;
import java.lang.*;
import java.util.*;
 
class GFG {
    public static void main(String[] args)
    {
 
        int i = 64;
        char ch = (char)(i + '0');
        System.out.println(ch);
    }
}
Producción

p

Método 3: Usando el Operador Modulo

Procedimiento:   

  1. Invertir el número.
  2. Iterar a través del número invertido de derecha a izquierda.
  3. Extraiga el último dígito usando el módulo, luego use un caso de cambio para obtener la palabra correspondiente.
  4. Mientras itera, divida el número por 10.

Ejemplo:

Java

// Java program to Convert Number in Characters
// Using Modulo Operator
 
// 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);
    }
}
Producción

one two three four five 

Complejidad temporal: O(k), k es la longitud del número. 

Complejidad del espacio: O(1) 

Publicación traducida automáticamente

Artículo escrito por mayur_patil y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *