Método getName() de Caractere Java

JavaBeginner
Pratique Agora

Introdução

O método getName() em Java faz parte da classe Character e retorna o nome Unicode (se disponível) atribuído ao caractere representado por um determinado ponto de código Unicode. Este método é muito útil ao representar caracteres Unicode em seu programa Java.

Configuração

Crie um arquivo chamado CharGetName.java no diretório ~/project usando o comando:

touch ~/project/CharGetName.java

Abra o arquivo CharGetName.java em seu editor de texto preferido.

Importando a Classe Necessária

Na primeira linha do código, precisamos importar a classe necessária, que é a classe Character. Vamos importá-la como abaixo:

import java.lang.Character;

Definir uma Classe

Defina uma classe CharGetName e implemente o método main(). No método main(), realizaremos a operação de obter o nome Unicode de diferentes caracteres como "H", "f", etc. em Java.

O código completo é como abaixo:

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("The name of character " + Character.toChars(codepoint1)[0] + " is "+name1);
        System.out.println("The name of character " + Character.toChars(codepoint2)[0] + " is "+name2);
        System.out.println("The name of character with codepoint 0 is "+ name3);
    }
}

Nesta etapa, definimos uma classe chamada CharGetName com o método main dentro dela. No método main, criamos uma variável inteira com o ponto de código Unicode (Unicode code point) dos caracteres como seus valores: codepoint1 tendo o valor de 72 (H) e codepoint2 tendo o valor de 102 (f). Usamos o método Character.getName() para obter os nomes dos caracteres e, em seguida, imprimimos o nome dos caracteres usando o método System.out.println().

Compilar e Executar o Programa Java

Compile o arquivo Java CharGetName usando o seguinte comando:

javac CharGetName.java

Após a conclusão bem-sucedida do processo de compilação, execute o código java usando o seguinte comando:

java CharGetName

Editando o Valor de Entrada

Agora, vamos criar um programa que receberá a entrada do usuário e retornará o nome do caractere no console.

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("Enter a character: ");
        char ch = scanner.next().charAt(0);
        int codepoint = ch;
        String name = Character.getName(codepoint);

        System.out.println("The name of character "+ch+" is "+name);
    }
}

Aqui, um objeto Scanner é criado para obter a entrada do usuário. Estamos usando o método Scanner.next() para obter o valor de entrada e, em seguida, estamos convertendo o caractere inserido em um ponto de código inteiro (integer codepoint) usando o método Character() para encontrar seu nome. Depois disso, imprimimos o nome do caractere usando o método System.out.println().

Compilar e Executar o Programa Java

Compile o arquivo Java CharGetName usando o seguinte comando:

javac CharGetName.java

Após a conclusão bem-sucedida do processo de compilação, execute o código java usando o seguinte comando:

java CharGetName

Agora, insira o caractere cujo nome você deseja encontrar. Por exemplo, insira "A". Você obterá o nome desse caractere no console.

Usando Caractere Inválido como Entrada

Agora, vamos ver como o programa responderá se inserirmos uma entrada invá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("Enter a character: ");
        char ch = scanner.next().charAt(0);

        if(!Character.isDefined(ch)) {
            System.out.println("\nINVALID INPUT: Please enter a valid character.");
            return;
        }

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

        System.out.println("\nThe name of character "+ch+" is "+name);
    }
}

Neste programa, estamos verificando se o caractere inserido está definido ou não. Se o caractere inserido não estiver definido, imprimiremos uma mensagem no console dizendo "Invalid input: Please enter a valid character." (Entrada inválida: Por favor, insira um caractere válido.) e, se o caractere estiver definido, obteremos seu nome como antes e o imprimiremos com uma mensagem apropriada.

Compilar e Executar o Programa Java

Compile o arquivo Java CharGetName usando o seguinte comando:

javac CharGetName.java

Após a conclusão bem-sucedida do processo de compilação, execute o código java usando o seguinte comando:

java CharGetName

Agora, insira uma entrada inválida como "8" ou "$". Você receberá uma mensagem de erro dizendo "INVALID INPUT: Please enter a valid character." (ENTRADA INVÁLIDA: Por favor, insira um caractere válido.).

Usando um Caractere Não Atribuído como Entrada

Agora, vamos ver como o programa responderá se usarmos um caractere não atribuído 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("Enter a character: ");
        char ch = scanner.next().charAt(0);

        if(!Character.isDefined(ch)) {
            System.out.println("\nINVALID INPUT: Please enter a valid character.");
            return;
        }

        String name = Character.getName(ch);

        if(name == null) {
            System.out.println("\nNO NAME FOUND: There is no assigned name for this character.");
            return;
        }

        System.out.println("\nThe name of character "+ch+" is "+name);
    }
}

Aqui, estamos usando o método Character.getName(ch) em vez de usar Character.getName(codepoint). Se o caractere inserido não tiver um nome atribuído, ele retornará null. Portanto, estamos verificando se o nome retornado é nulo ou não. Se for nulo, imprimiremos uma mensagem dizendo "NO NAME FOUND: There is no assigned name for this character." (NENHUM NOME ENCONTRADO: Não há nome atribuído para este caractere.).

Compilar e Executar o Programa Java

Compile o arquivo Java CharGetName usando o seguinte comando:

javac CharGetName.java

Após a conclusão bem-sucedida do processo de compilação, execute o código java usando o seguinte comando:

java CharGetName

Agora, insira um caractere não atribuído como nulo ("\u0000") e você receberá uma mensagem dizendo "NO NAME FOUND: There is no assigned name for this character." (NENHUM NOME ENCONTRADO: Não há nome atribuído para este caractere.).

Resumo

Neste laboratório, aprendemos sobre o método getName() em Java e como usá-lo para obter o nome Unicode de caracteres, implementando exemplos de código Java. Também aprendemos como ler a entrada do usuário para isso e como lidar com erros, criando e executando um programa Java no terminal do sistema Ubuntu.