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

sof -  
KX Messages postés 19031 Statut Modérateur -
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

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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
    0
  2. KX Messages postés 19031 Statut Modérateur 3 020
     
    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
    0