Algoritmo - JAVA [ajuda]
Boa tarde, tô estudando Java Básico e após ver um pouco de teoria, estou fazendo exercícios. Travei em um exercício e gostaria de ajuda. O exercício em questão:
"Parte 1 do problema:
Faça um método que converta um número em Hexadecimal (1 caracter) em um numero binário (4 caracteres em uma String).
Ex: entrada: "D" saída: "1101".
O método deve receber como parâmetro um dado do tipo char e retornar uma String. Para facilitar, pode implementar a tabela de conversão hex-> bin (16 valores).
Parte 2 do problema:
Faça um programa (utilizando o método em (a)) que converta um número Hexadecimal de 4 alagarismo (em uma String) para um número binário de 16 algarismos (em uma String).
Obs: fazer uma estrutura de repetição para ler, um por um, os 4 algarismos do número hexadecimal. Para ler apenas um caracter de uma String, utilizar o método String.charAt(índice).
Ex: string x = "abcde";
System.out.printf ("%s", x.charAt(2);
Imprimirá na tela: C"
Isso foi o que consegui até então:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
//char D;
//int num = (Integer.parseInt("D", 16));
//System.out.println(Integer.toBinaryString(num));
Scanner teclado = new Scanner(System.in);
System.out.printf("Informe um número em hexadecimal: ");
String numeroHexaDecimal = (teclado.nextLine());
String z = letras_b_e_c(numeroHexaDecimal.charAt(0));
System.out.print(z);
}
static String letras_b_e_c(char numeroHexa){
String numeroBinario = (String) letras_b_e_c(numeroHexa);
switch(numeroHexa){
case 'A': numeroBinario = "1010";
break;
case 'B': numeroBinario = "1011";
break;
case 'C': numeroBinario = "1100";
break;
case 'D': numeroBinario = "1101";
break;
case 'E': numeroBinario = "1110";
break;
case 'F': numeroBinario = "1111";
break;
System.out.printf(numeroBinario);
}
}
}
"Parte 1 do problema:
Faça um método que converta um número em Hexadecimal (1 caracter) em um numero binário (4 caracteres em uma String).
Ex: entrada: "D" saída: "1101".
O método deve receber como parâmetro um dado do tipo char e retornar uma String. Para facilitar, pode implementar a tabela de conversão hex-> bin (16 valores).
Parte 2 do problema:
Faça um programa (utilizando o método em (a)) que converta um número Hexadecimal de 4 alagarismo (em uma String) para um número binário de 16 algarismos (em uma String).
Obs: fazer uma estrutura de repetição para ler, um por um, os 4 algarismos do número hexadecimal. Para ler apenas um caracter de uma String, utilizar o método String.charAt(índice).
Ex: string x = "abcde";
System.out.printf ("%s", x.charAt(2);
Imprimirá na tela: C"
Isso foi o que consegui até então:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
//char D;
//int num = (Integer.parseInt("D", 16));
//System.out.println(Integer.toBinaryString(num));
Scanner teclado = new Scanner(System.in);
System.out.printf("Informe um número em hexadecimal: ");
String numeroHexaDecimal = (teclado.nextLine());
String z = letras_b_e_c(numeroHexaDecimal.charAt(0));
System.out.print(z);
}
static String letras_b_e_c(char numeroHexa){
String numeroBinario = (String) letras_b_e_c(numeroHexa);
switch(numeroHexa){
case 'A': numeroBinario = "1010";
break;
case 'B': numeroBinario = "1011";
break;
case 'C': numeroBinario = "1100";
break;
case 'D': numeroBinario = "1101";
break;
case 'E': numeroBinario = "1110";
break;
case 'F': numeroBinario = "1111";
break;
System.out.printf(numeroBinario);
}
}
}
Meydson Costa
Curtidas 0