Informática, perguntado por xremix20, 1 ano atrás

Boas estou com um problema neste exercicio.
queria que ele le-se por funções so que não estou a incorporar a funçao verificaHexaDecima no meu programa da-me erro na class main.
seria possivél me ajudarem a resolver este erro?
o codigo é:

public class Ex15 {
static String carat = "0123456789ABCDEFabcdef";
public static void stringVerifica(String conv, String carat) {
boolean verif = false;
for (int i = 0; i < conv.length(); i++) {
if (!carat.contains(conv.substring(i, i + 1))) {
verif = true;
System.out.println("O " + conv + " Não é Hexadecimal!");
break;
}
}
if (verif == false) {
System.out.println("O " + conv + " número é Hexadecimal");
}
}

public static int convHexaDecimal(String convHex, String carat) {
convHex = convHex.toUpperCase();
int sum = 0;
for (int i = 0; i < convHex.length(); i++) {
char h = convHex.charAt(i);
int d = carat.indexOf(h);
sum = 16 * sum + d;
}
return sum;
}

public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
System.out.println("Conversor Hexadecimal");
System.out.println("Introduza um número Hexadecimal");
String conv = teclado.nextLine();
int decimal = convHexaDecimal(conv);
System.out.println("O número decimal é " + decimal);
teclado.close();

stringVerifica(conv, carat);
}
}

Soluções para a tarefa

Respondido por bokomoko
1
Observe essa linha aqui na classe main

int decimal = convHexaDecimal(conv);

você está invocando a classe convHexaDecimal(conv); passando um parâmetro

Acontece que você definiu a classe aqui
public static int convHexaDecimal(String convHex, String carat)

Na definição você criou a classe com DOIS parâmetros.

Além disso, você definiu uma classe Ex15 que nunca é usada






bokomoko: Eu fiz algumas pequenas correções e postei aqui
bokomoko: https://repl.it/@bokomoko/java-verifica-hexa
xremix20: Muito bom mesmo muito obrigado testei e funcionou como eu quero
Perguntas interessantes