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.



