Comparação de String

Tenho uma String com 50 posições e tenho que comparar suas posições
da seguinte maneira
String s = 12121212121212121212856498165320547906087090606057
divido a String em duas

s1 = 1212121212121212121285649 e s2 = 8165320547906087090606057
ai comparo s1 com s2 se não forem iguais divido s1 na metade e comparo novamente

s1 = 121212121212 e s2 = 1212121285649
divido s1 na metade e comparo novamente
s1 = 121212 e s2= 121212

Compara s1 com s2 e ele ve que são iguais fazendo com que o programa pare
Mas so que quero encontrar o periodo de repetição 12 e não 121212
O que estou fazendo de errado alguem pode me ajudar
Valeu

Se você ta quebrando no meio a string e comparando as duas metades, nunca vai chegar só no 12…vc quer retornar só uma vez o número 12, seria isso?

a periodicidade começa sempre do inicio ?? se sim … use um laço de repetição pra encontrar e seja feliz…

[code] String expressao = “12121212121212121212856498165320547906087090606057”;

    int count = 0;
    boolean notFound = true;
    while(notFound && expressao.length() > count*2) {
         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]

Sim eu tenho q pegar o periodo de repetição

ex 12511250986 o periodo de repetição é 125
12084120841278 o periodo de repetição é 12084

[quote=Lavieri]a periodicidade começa sempre do inicio ?? se sim … use um laço de repetição pra encontrar e seja feliz…

[code] String expressao = “12121212121212121212856498165320547906087090606057”;

    int count = 0;
    boolean notFound = true;
    while(notFound && expressao.length() > count*2) {
         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][/quote]

o método acima funciona, mas somente para alguns casos
por ex para 111161111611116111161111721423211211164111114235181
o resultado deveria ser 11116 e não 1