Dúvidas referente a transformação do número da tabela ASCII

6 respostas Resolvido
javaprogramação
W
Estou com um impasse, estou pegando um array de números e transformando o array em string para colocar no banco de dados. Entretanto, meu problema é sobre transformar essa String em array novamente. Eu estou fazendo o seguinte:

String teste = números.replaceAll([\[\]],“”).replaceAll(,,“”);

char[] ch = teste.toCharArray();
For (int i=0; i< 11; i++){

Int a = Integer.valueOf(ch[i]);

System.out.println(a);

}

Porém ele me retorna o número da tabela ASCII ao invés de me retornar o número real que eu queria. Como consigo alterar isso?

6 Respostas

W
Solucao aceita

Quando vc quer pegar o valor número que aquele caracter representa, vc deveria usar Character.getNumericValue().

String numeros = "[012,345,678,9]";
String teste = numeros.replaceAll("[\\[\\]]", "").replaceAll(",", "");
char[] ch = teste.toCharArray();

for (int i = 0; i < ch.length; i++) {
  int a = Character.getNumericValue(ch[i]);
  System.out.println(a);
}
H

Se quer imprimir o próprio caractere, então não converta para número. Basta imprimir ch[i].

Mas na verdade nem precisa desse array, poderia fazer apenas:

for (int i = 0; i < teste.length(); i++) {
    System.out.println(teste.charAt(i));
}
W

Cara, acredito fortemente que ele precise dos valores para fazer algum calculo e ele usou o println só exemplificar que o resultado obtido não é o esperado.

W

Boa, daqui apouco eu vou testar.

W

Essa foi minha primeira tentativa, onde me retorna os valores correspondentes a tabela ASCII. Por isso tentei com array. Mas acho que a resposta do Welington já sanou minha dúvida, irei tentar daqui a pouco e trarei o feedback

W

Funcionou. Muito obrigado!

Criado 27 de janeiro de 2024
Ultima resposta 28 de jan. de 2024
Respostas 6
Participantes 3