Probleme java

lilou -  
arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,j'ai ecrit une fonction de tri de tableau en java et elle ne veut pas marcher
la fonction est la suivante
public void tri(){
int i,j,x;
for(i=0; i<n-1; i++)
for (j=i+1; i<n; j++)
if (tab[i]>tab[j])
{x=tab[i];
tab[i]=tab[j];
tab[j]=x;}}

je l'ai ecrite dans une classe tableau ,et executer a partir d'une classe Main
le message s'affichant est :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 100
at Tableau.tri(Tableau.java:32)
at Main.main(Main.java:8)
Configuration: Windows XP Internet Explorer 7.0

3 réponses

  1. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    Hello,
    Tu peux nous dire quelle est la taille de N et de tab ?

    Parce qu'en général, cette erreur survient lorsque tu essaies d'accéder à une valeur en dehors du tableau, exemple tu veux accéder à Tab[101] alors que le tableau n'est que de 100 cases.
    0
  2. lilou
     
    MERCI je viens de regler le pb,j'avais mis un i à la place de j dans la 2eme boucle , c tt
    SVP dites moi comment si par exemple je declare un tableau de 6 elements et je veux en lire que 5
    laisser une case vide quoi.............comment ne lire que 5 et pas 6 je sors avant le 6 eme
    0
  3. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    Je verrais une boucle du genre :

    i=0

    While(tab[i] != null)
    {
    ton_traitement
    i++
    }

    Enfin à améliorer et en fonction des données que contient ton tableau, si il s'agit de String ou autre.
    0