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):
le message d'erreur est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } } }
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.
Partager