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

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?

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);
}
1 curtida

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));
}

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.

Boa, daqui apouco eu vou testar.

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

Funcionou. Muito obrigado!

1 curtida