erreur procédure CharAt()
Bonjour, j'ai implémenté une méthode de recherche d'une sous-chaîne dans une chaîne (méthode de Knuth Morris Pratt), le code à l'air bon, il n'y a rien à signaler mais lors de l'exécution la méthode charat ne fonctionne pas. Voici le code de la méthode implémentée (initialisation d'un tableau):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public void Init_tab(){
int i = 0;
int j = -1 ;
char c='\0';
tab_motif[0]=j;
while((motif.charAt(i)) != ('\0')){
if(motif.charAt(i)==c){
tab_motif[i+1]=j+1;
i++;
j++;
}
else{
if(j>0){
j=tab_motif[j];
}
else{
tab_motif[i+1]=0;
i++;
j=0;
}
c=motif.charAt(j);
}
}
} |
le message d'erreur est :
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 7
D'ou vient cette erreur et comment faire pour faire fonctionner le programme?
Merci d'avance pour vos réponses.