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