laço de repetição

[code] String expressao = “12121212121212121212856498165320547906087090606057”;

int count = 0;
boolean notFound = true;
while(notFound && expressao.length() > count2) {
count ++;
String primeiraParte = expressao.substring(0,count);
String segundaParte = expressao.substring(count,2
count);
notFound = !segundaParte.equals(primeiraParte);
}
System.out.println(expressao.substring(0,count));
[/code]
A parte q repete no numero 12121212121212121212856498165320547906087090606057 é o 12 (ok)

Pq o método acima funciona para alguns números e para outros não como o número abaixo
111161111611116111161111721423211211164111114235181 cujo método imprime 1 em vez de 11116
Alguem pode me ajudar
Valeu

depois que vc encontrar uma primeira referencia positiva para o teste… faça o teste para a casa seguinte, se for falso, é pq vc encontrou o que queria, se for verdadeiro, continue seguindo, ate sair falso

Desculpa mas não consegui entender.
Muito obrigado por responder minhas perguntas.

por exemplo…

“111161111611116111161111721423211211164111114235181”

quando vc rodar, vai dar positivo no primeiro passo

pois ele via testar… “'1” == “1” … nesse ponto vai dar positivo…

depois o que falei é testar o proximo ponto ai vc tera

“11” == “11” vai dar positovo novamente, agora vc continua o teste
“111” == “161” vai dar negativo … a partir desse ponto, vc conema a procurar um ponto positivo, caso encontro então esse proximo ponto é o que vc ker

“1111” == “6111” vai dar negativo
“11116” == “11116” agora como vc encontrou um segundo poonto positivo, é pq este é o ponto

A lógica do seu método está quase certa, mas count tem que começar com a metade do tamanho da string e ir diminuindo.