Introducción
En este laboratorio, aprenderá sobre el método Java forDigit() que es parte de la clase Character. Este método devuelve la representación de carácter especificada para el dígito especificado de acuerdo con la radix especificada.
Crea un archivo Java
Crea un archivo Java llamado CharForDigit.java en el directorio ~/project utilizando el siguiente comando:
touch ~/project/CharForDigit.java
Agrega el código inicial
Agrega el siguiente código al archivo CharForDigit.java:
public class CharForDigit {
public static void main(String[] args) {
int n1 = 8;
int n2 = 23;
int n3 = 30;
char ch1 = Character.forDigit(n1, 9);
char ch2 = Character.forDigit(n2, 25);
char ch3 = Character.forDigit(n3, 36);
System.out.println("The char representation of " + n1 + " in radix 9 is " + ch1);
System.out.println("The char representation of " + n2 + " in radix 25 is " + ch2);
System.out.println("The char representation of " + n3 + " in radix 36 is " + ch3);
}
}
Este código crea una clase CharForDigit con un método main. El método main demuestra cómo utilizar el método forDigit() para obtener la representación de carácter de un dígito en diferentes radices.
Compila y ejecuta el código
Compila el archivo CharForDigit.java utilizando el siguiente comando:
javac CharForDigit.java
Luego, ejecuta el código utilizando el siguiente comando:
java CharForDigit
Deberías ver la siguiente salida:
The char representation of 8 in radix 9 is 8
The char representation of 23 in radix 25 is n
The char representation of 30 in radix 36 is u
Esta salida confirma que el método forDigit() funciona como se esperaba.
Agrega la entrada del usuario
Ahora, vamos a modificar el código para aceptar la entrada del usuario para el dígito y la radix. Agrega el siguiente código después del código inicial:
Scanner sc = new Scanner(System.in);
System.out.print("Enter digit: ");
int d = sc.nextInt();
System.out.print("Enter radix: ");
int r = sc.nextInt();
char result = Character.forDigit(d, r);
System.out.println("The character at radix \'" + r + "\' for the digit " + d + " is: " + result);
Este código solicita al usuario el dígito y la radix, lee la entrada desde la consola y utiliza el método forDigit() para obtener la representación de carácter del dígito.
Compila y ejecuta el código con la entrada del usuario
Compila el archivo modificado CharForDigit.java utilizando el siguiente comando:
javac CharForDigit.java
Luego, ejecuta el código utilizando el siguiente comando:
java CharForDigit
Deberías ver el siguiente mensaje en la consola:
Enter digit:
Ingresa un dígito (por ejemplo, 12) y presiona Enter. Deberías ver el siguiente mensaje:
Enter radix:
Ingresa una radix (por ejemplo, 16) y presiona Enter. Luego deberías ver la siguiente salida:
The character at radix '16' for the digit 12 is: c
Esta salida confirma que el código modificado funciona como se esperaba.
Prueba con entrada no válida
Modifica el código para manejar la entrada no válida del usuario. Agrega el siguiente código después del código de entrada del usuario:
} catch (InputMismatchException e) {
System.out.println("Invalid input!");
}
Este código captura cualquier InputMismatchException que sea lanzada por la clase Scanner cuando el usuario ingresa una entrada que no puede ser analizada como un entero.
Compila y ejecuta el código modificado
Compila el archivo CharForDigit.java modificado utilizando el siguiente comando:
javac CharForDigit.java
Luego, ejecuta el código utilizando el siguiente comando:
java CharForDigit
Deberías ver el siguiente mensaje en la consola:
Enter digit:
Ingresa una entrada no numérica (por ejemplo, "abc") y presiona Enter. Deberías ver la siguiente salida:
Invalid input!
Esta salida confirma que el código maneja la entrada no válida como se esperaba.
Prueba para radix no válido
Modifica el código para comprobar si la radix ingresada es válida. Agrega el siguiente código después del código de entrada del usuario:
if (r < Character.MIN_RADIX || r > Character.MAX_RADIX) {
System.out.println("Invalid radix!");
return;
}
Este código comprueba si la radix ingresada es menor que la radix mínima o mayor que la radix máxima. Si es así, imprime un mensaje y termina el programa.
Compila y ejecuta el código modificado
Compila el archivo CharForDigit.java modificado utilizando el siguiente comando:
javac CharForDigit.java
Luego, ejecuta el código utilizando el siguiente comando:
java CharForDigit
Deberías ver el siguiente mensaje en la consola:
Enter digit:
Ingresa un dígito (por ejemplo, 6) y presiona Enter. Deberías ver el siguiente mensaje:
Enter radix:
Ingresa una radix menor que 2 o mayor que 36 (por ejemplo, 1 o 100) y presiona Enter. Deberías ver la siguiente salida:
Invalid radix!
Esta salida confirma que el código maneja la radix no válida como se esperaba.
Resumen
En este laboratorio, aprendiste cómo usar el método forDigit() de la clase Character para obtener la representación de carácter de un dígito en una radix especificada. También aprendiste cómo manejar la entrada del usuario y comprobar si la entrada es válida.



