Ma méthode ne s'éxecute pas !!!!

public static void suppoccur(int []t,int n)
{
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
if(t[i]==t[j])
{ int k = j;
while(k<n)
{
t[k]=t[k+1];<==l'erreur (la ligne 33)
k++;
}n--;
}
for(int s=0;s<n;s++)
{
System.out.println("\t"+t[s]);
}}// partie du programme
et l'erreur qu'il me retourne après l'éxecution :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
at occurenc.suppoccur(occurenc.java:33)

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Tu as très certainement t.length==4 et k==3 et le programme plante sur t[k+1]
    Il faut toujours que tu ai 0<=n<t.length dans cette boucle while ce qui n'est pas le cas ici
    1. Contributeur
      Bonjour,

      S'il vous plaît
      Merci
      Au revoir
      etc.
      Sont monnaie courante quand on veut obtenir quelque chose !

      Saine lecture...*
      A voir aussi

      Merci de votre compréhension.

      ;-)

      * Bonus