public static int is_periodic(String suc) throws ArrayIndexOutOfBoundsException{ 
        int i, begin, end, beginAux, endAux, repetitions;
        
        begin=0;
        for (i = 1; i < suc.length(); i++) {
            repetitions=1;
            if (suc.charAt(0) == suc.charAt(i)){
                end=i; 
                beginAux=i;
                endAux=i*2;
                //Solamente se entra para comprobar las subsecuencias que contienen el periodo completo
                while(endAux <= suc.length() && (equal(suc.substring(begin, end),suc.substring(beginAux, endAux)))){
                    repetitions++;
                    beginAux+=i;
                    endAux+=i;
                }
                //Solamente se entra si las dos ultimas subsecuencias coincidieron
                if ((endAux > suc.length()) || (equal(suc.substring(begin, end),suc.substring(beginAux, endAux)))){  
                    /*Comparar la ultima subsecuencia  aunque no contenga el periodo entero (tambien seria valido).
                      Si esta coincide y anteriormente hubo un minimo de 2 repeticiones del periodo se devuelve la 
                      longitud del periodo, en caso contrario se devuelve -1*/
                    if(suc.substring(begin, suc.substring(beginAux).length()).compareTo(suc.substring(beginAux))==0){ 
                        if(repetitions>=2){
                            System.out.println("El periodo se repite: "+repetitions+" veces");
                            String aux="El periodo obtenido es: ";
                            String concat = aux.concat(suc.substring(begin, end));
                            System.out.println(concat);
                        
                            return i;
                        }
                        else
                            return -1;
                    }
                }
            }
        }   
        return -1; 
    }