Estou fazendo um programa para converter numeros decimais em binários.
Eu precisso ter a parte inteira e a parte fracionária em variaveis diferentes.
como devo fazer para percorer o meu string caracter a caracter e comparar para ver se aquele caracter é o ponto?
pensei em algo assim, mas nao funciona!
for(i=0; i < numero.length();i++){
char caracter = numero.charAt(i);
if (caracter == “.”){
break;
}
}
assim eu descubro qual a posição do ponto e consigo quebrar a minha string ao meio.
Oi
Anselmo, a tua lógica está certa, o problema é que não deve usar o operador “==” para fazer este teste e sim o método equals("."), ficaria assim:
if (caracter.equals("."))
Mas isso não precisa ser feito… Se tua String representa um formato double, ou seja, com ponto, tu pode fazer a conversão direta, assim:
double D = Double.parseDouble(caracter);
Daí se tu quiser pergar uma parte ou outra fica mais fácil…
T+
[quote=“jeveaux”]Oi
Anselmo, a tua lógica está certa, o problema é que não deve usar o operador “==” para fazer este teste e sim o método equals("."), ficaria assim:
if (caracter.equals("."))
[/quote]
Só uma correção… tipos primitivos como o char não tem métodos (não são classes). Portanto, o código acima está incorreto. A comparação com o operador == está correta. Acho que o problema é porque vc não está armazenado o indice de onde o ponto esta, só esta dando um break. Se vc colocar antes do break um atributo temporário com o indice, vai funcionar.
Blz???
Oi
DUUHHH… Po, eu nem vi que caracter era um char… É isso mesmo JavaTeco, pensei que era String, mas não é, mesmo com um nome tão sugestivo como caractere eu não me toquei…
T+