Trier tableau d'objet

Résolu
spmsbl Messages postés 51 Date d'inscription lundi 2 octobre 2006 Statut Membre Dernière intervention 14 février 2013 - 4 oct. 2010 à 16:48
spmsbl Messages postés 51 Date d'inscription lundi 2 octobre 2006 Statut Membre Dernière intervention 14 février 2013 - 5 oct. 2010 à 14:11
Bonjour

J'ai un tableau d'objet contenant deux champs par objets
Je dois écrire une méthode qui va trier mon tableau par le premier champ
J'ai déjà une méthode qui extrait le premier champ de chaque objet

J'ai toujours un message d'erreur quand j'appel ma méthode pour trier

voici mon code

public static void trier(String[]code, String[]nom, int nbObj)
{
for(int i = 0; i < nbObj-1; i++)
{
int indMin = i;
for (int j = i+1; j < nbObj; j++)
if (code[j].compareTo(code[indMin]) < 0)
indMin = j;
if ( indMin != i )
{
// permutation :
String tempo = code[i];
code[i] = code[indMin];
code[indMin] = tempo;

// permutation :
String temp = nom[i];
nom[i] = nom[indMin];
nom[indMin] = temp;
}
}
}


et voici l'appel

Classe.trier( tableau, tableau, nbObj);

J'ai essayer aussi Classe.trier( tableau.getCode(), tableau.getNom(), nbEtudiant);

Mais j'ai toujours des erreurs de compilation

Merci d'avance pour votre aide

6 réponses

Utilisateur anonyme
5 oct. 2010 à 10:46
Salut,

@Julien39:

Attention c'est Arrays.sort(... AVEC UN S

Et si on a un tableau de String, Arrays.sort(leTableauDeString); devait fonctionner.

Exemple:
String[] tableauString = {"Bonjour Jean", "Bonjour Alain", "Bonjour Xavier", "Bonjour Claude",
"Adios Jean", "Salut Ali", "zx 1234" ,"zx 123"};
          
         String str = "";
             
         System.out.println("\ntableauString avant tri en ordre croissant:"); // pour controle
         for (String n : tableauString) str+= n + ", ";
         System.out.println(str.substring(0, str.length()-2)); // pour supprimer la derniere virgule
         
         Arrays.sort(tableauString);
      	
         str = "";
             
         System.out.println("\ntableauString apres tri en ordre croissant:"); // pour controle
         for (String n : tableauString) str+= n + ", ";
         System.out.println(str.substring(0, str.length()-2));


Cordialement,

...\ Dan /...
Rejoignez-nous