ola pessoal,
fiz o programa abaixo:
public class Digito
{
public String inverte(String n)
{
int i = n.length(),
j = 0,
k = 0;
String s = "",
sy = "",
sk = "";
i--;
while(i >= 0)
{
if(n.charAt(i) == '.')
sy = sy + (i--);
s = s + n.charAt(i);
i--;
}
i=0;
//coloca o ponto(.) no numero string invertido
//essa parte nao ta funcionando corretamente
//aqui esta a minha duvida
if(!sy.equals(""))
{
while(i < s.length())
{
if( Integer.parseInt( String.valueOf(sy.charAt(j)) ) == i ) //encontra local onde sera colocado o ponto(".")
{
while( k < s.length()-i ) //laco para colocar o ponto
{
sk = sk + s.charAt(k);
k++;
}
}
i++;
}
}
return s;
}
}
a entrada dele eh a seguinte: “1.544”
o resultado dele dever ser assim: “4.451”
ele esta invertendo a entrada assim: “4451”
mas na hora de colocar o ponto estou com duvida sobre como bolar o algoritmo. A ideia entendi, so nao entendi como faze-lo.
por exemplo, quando eu achar o lugar no string para se colocar o ponto(.)
deve-se fazer uma reestruturacao das posicoes dos numeros. A minha duvida eh nessa hora. Alguem pode me ajudar ?
