Método getName de los Caracteres Java

JavaBeginner
Practicar Ahora

Introducción

El método getName() en Java es una parte de la clase Character que devuelve el nombre Unicode (si está disponible) asignado al carácter representado por un determinado punto de código Unicode. Este método es muy útil al representar los caracteres Unicode en su programa Java.

Configuración

Cree un archivo llamado CharGetName.java en el directorio ~/project usando el comando:

touch ~/project/CharGetName.java

Abra el archivo CharGetName.java en su editor de texto preferido.

Importando la clase necesaria

En la primera línea del código, necesitamos importar la clase necesaria, que es la clase Character. La importaremos como se muestra a continuación:

import java.lang.Character;

Definir una clase

Defina una clase CharGetName e implemente el método main(). En el método main(), realizaremos la operación de obtener el nombre Unicode de diferentes caracteres como "H", "f", etc. en Java.

El código completo se ve como a continuación:

import java.lang.Character;

public class CharGetName {
    public static void main(String[] args) {
        int codepoint1 = 72; // H
        int codepoint2 = 102; // f
        int codepoint3 = 0;

        String name1 = Character.getName(codepoint1);
        String name2 = Character.getName(codepoint2);
        String name3 = Character.getName(codepoint3);

        System.out.println("El nombre del carácter " + Character.toChars(codepoint1)[0] + " es "+name1);
        System.out.println("El nombre del carácter " + Character.toChars(codepoint2)[0] + " es "+name2);
        System.out.println("El nombre del carácter con codepoint 0 es "+ name3);
    }
}

En este paso, hemos definido una clase llamada CharGetName con el método principal dentro de ella. En el método principal, hemos creado una variable entera con el punto de código Unicode de los caracteres como sus valores: codepoint1 con un valor de 72(H) y codepoint2 con un valor de 102 (f). Hemos utilizado el método Character.getName() para obtener los nombres de los caracteres y luego hemos impreso el nombre de los caracteres utilizando el método System.out.println().

Compilar y ejecutar el programa Java

Compile el archivo Java CharGetName usando el siguiente comando:

javac CharGetName.java

Una vez que el proceso de compilación se complete con éxito, ejecute el código java usando el siguiente comando:

java CharGetName

Editar el valor de entrada

Ahora, creemos un programa que tomará la entrada del usuario y devolverá el nombre del carácter en la consola.

import java.util.Scanner;
import java.lang.Character;

public class CharGetName {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Ingrese un carácter: ");
        char ch = scanner.next().charAt(0);
        int codepoint = ch;
        String name = Character.getName(codepoint);

        System.out.println("El nombre del carácter "+ch+" es "+name);
    }
}

Aquí, se crea un objeto Scanner para obtener la entrada del usuario. Estamos usando el método Scanner.next() para obtener el valor de entrada, y luego, estamos convirtiendo el carácter ingresado a un punto de código entero mediante el método Character() para encontrar su nombre. Después de eso, hemos impreso el nombre del carácter utilizando el método System.out.println().

Compilar y ejecutar el programa Java

Compile el archivo Java CharGetName usando el siguiente comando:

javac CharGetName.java

Una vez que el proceso de compilación se complete con éxito, ejecute el código java usando el siguiente comando:

java CharGetName

Ahora, ingrese el carácter cuyo nombre desea encontrar. Por ejemplo, ingrese "A". Verá el nombre de ese carácter en la consola.

Usar un carácter no válido como entrada

Ahora, veamos cómo el programa responderá si ingresamos una entrada no válida.

import java.util.Scanner;
import java.lang.Character;

public class CharGetName {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Ingrese un carácter: ");
        char ch = scanner.next().charAt(0);

        if(!Character.isDefined(ch)) {
            System.out.println("\nENTRADA NO VÁLIDA: Ingrese un carácter válido.");
            return;
        }

        int codepoint = ch;
        String name = Character.getName(codepoint);

        System.out.println("\nEl nombre del carácter "+ch+" es "+name);
    }
}

En este programa, estamos verificando si el carácter ingresado está definido o no. Si el carácter ingresado no está definido, entonces imprimiremos un mensaje en la consola que dice "Entrada no válida: Ingrese un carácter válido." y si el carácter está definido entonces obtendremos su nombre como antes y lo imprimiremos con un mensaje adecuado.

Compilar y ejecutar el programa Java

Compile el archivo Java CharGetName usando el siguiente comando:

javac CharGetName.java

Una vez que el proceso de compilación se complete con éxito, ejecute el código java usando el siguiente comando:

java CharGetName

Ahora, ingrese una entrada no válida como "8" o "$". Obtendrá un mensaje de error que dice "ENTRADA NO VÁLIDA: Ingrese un carácter válido.".

Usar un carácter no asignado como entrada

Ahora, veamos cómo el programa responderá si usamos un carácter no asignado como entrada.

import java.util.Scanner;
import java.lang.Character;

public class CharGetName {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Ingrese un carácter: ");
        char ch = scanner.next().charAt(0);

        if(!Character.isDefined(ch)) {
            System.out.println("\nENTRADA NO VÁLIDA: Ingrese un carácter válido.");
            return;
        }

        String name = Character.getName(ch);

        if(name == null) {
            System.out.println("\nNO SE ENCONTRÓ NOMBRE: No hay un nombre asignado para este carácter.");
            return;
        }

        System.out.println("\nEl nombre del carácter "+ch+" es "+name);
    }
}

Aquí, estamos usando el método Character.getName(ch) en lugar de Character.getName(codepoint). Si el carácter ingresado no tiene un nombre asignado, entonces devolverá null. Entonces, estamos verificando si el nombre devuelto es nulo o no. Si es nulo, entonces imprimiremos un mensaje que dice "NO SE ENCONTRÓ NOMBRE: No hay un nombre asignado para este carácter."

Compilar y ejecutar el programa Java

Compile el archivo Java CharGetName usando el siguiente comando:

javac CharGetName.java

Una vez que el proceso de compilación se complete con éxito, ejecute el código java usando el siguiente comando:

java CharGetName

Ahora, ingrese un carácter no asignado como nulo ("\u0000") y obtendrá un mensaje que dice "NO SE ENCONTRÓ NOMBRE: No hay un nombre asignado para este carácter."

Resumen

En este laboratorio, aprendimos sobre el método getName() en Java y cómo usarlo para obtener el nombre Unicode de los caracteres mediante la implementación de ejemplos de código Java. También aprendimos cómo leer la entrada del usuario para ello y cómo manejar errores creando y ejecutando un programa Java en el terminal del sistema Ubuntu.