Introdução
Neste laboratório, você aprenderá sobre o método Java forDigit(), que faz parte da classe Character. Este método retorna a representação de caractere especificada para o dígito especificado de acordo com a base especificada (radix).
Criar um Arquivo Java
Crie um arquivo Java chamado CharForDigit.java no diretório ~/project usando o seguinte comando:
touch ~/project/CharForDigit.java
Adicionar o Código Inicial
Adicione o seguinte código ao arquivo 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 cria uma classe CharForDigit com um método main. O método main demonstra como usar o método forDigit() para obter a representação de caractere de um dígito em diferentes bases (radix).
Compilar e Executar o Código
Compile o arquivo CharForDigit.java usando o seguinte comando:
javac CharForDigit.java
Em seguida, execute o código usando o seguinte comando:
java CharForDigit
Você deverá ver a seguinte saída:
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 saída confirma que o método forDigit() funciona como esperado.
Adicionar Entrada do Usuário
Agora, vamos modificar o código para aceitar a entrada do usuário para o dígito e a base (radix). Adicione o seguinte código após o 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 ao usuário o dígito e a base (radix), lê a entrada do console e usa o método forDigit() para obter a representação de caractere do dígito.
Compilar e Executar o Código com Entrada do Usuário
Compile o arquivo CharForDigit.java modificado usando o seguinte comando:
javac CharForDigit.java
Em seguida, execute o código usando o seguinte comando:
java CharForDigit
Você deverá ver o seguinte prompt no console:
Enter digit:
Insira um dígito (por exemplo, 12) e pressione Enter. Você deverá ver o seguinte prompt:
Enter radix:
Insira uma base (radix) (por exemplo, 16) e pressione Enter. Você deverá então ver a seguinte saída:
The character at radix '16' for the digit 12 is: c
Esta saída confirma que o código modificado funciona como esperado.
Testar para Entrada Inválida
Modifique o código para lidar com entrada inválida do usuário. Adicione o seguinte código após o código de entrada do usuário:
} catch (InputMismatchException e) {
System.out.println("Invalid input!");
}
Este código captura qualquer InputMismatchException que é lançada pela classe Scanner quando o usuário insere uma entrada que não pode ser analisada como um inteiro.
Compilar e Executar o Código Modificado
Compile o arquivo CharForDigit.java modificado usando o seguinte comando:
javac CharForDigit.java
Em seguida, execute o código usando o seguinte comando:
java CharForDigit
Você deverá ver o seguinte prompt no console:
Enter digit:
Insira uma entrada não numérica (por exemplo, "abc") e pressione Enter. Você deverá ver a seguinte saída:
Invalid input!
Esta saída confirma que o código lida com entrada inválida como esperado.
Testar para Radix Inválido
Modifique o código para verificar se o radix inserido é válido. Adicione o seguinte código após o código de entrada do usuário:
if (r < Character.MIN_RADIX || r > Character.MAX_RADIX) {
System.out.println("Invalid radix!");
return;
}
Este código verifica se o radix inserido é menor que o radix mínimo ou maior que o radix máximo. Se for, ele imprime uma mensagem e termina o programa.
Compilar e Executar o Código Modificado
Compile o arquivo CharForDigit.java modificado usando o seguinte comando:
javac CharForDigit.java
Em seguida, execute o código usando o seguinte comando:
java CharForDigit
Você deverá ver o seguinte prompt no console:
Enter digit:
Insira um dígito (por exemplo, 6) e pressione Enter. Você deverá ver o seguinte prompt:
Enter radix:
Insira um radix menor que 2 ou maior que 36 (por exemplo, 1 ou 100) e pressione Enter. Você deverá ver a seguinte saída:
Invalid radix!
Esta saída confirma que o código lida com radix inválido como esperado.
Resumo
Neste laboratório, você aprendeu como usar o método forDigit() da classe Character para obter a representação de caractere de um dígito em um radix especificado. Você também aprendeu como lidar com a entrada do usuário e verificar a validade da entrada.



