J'ai donc un problème pour trier une ArrayList. Je suis obligé d'utiliser dans la méthode d'insertion, donc j'écris ce code en fonction de cela. Ce que cela est destiné à faire, c'est que l'utilisateur doit entrer 4 mots de 3 lettres et ensuite triés dans l'ArrayList dans l'ordre alphabétique. J'ai essayé différentes choses mais quand je cours le code il trie le premier mot mais le répète. La sortie dépend vraiment des mots que je mets. J'ai l'impression que mon problème est dans la boucle while mais j'ai essayé différentes manières mais j'ai le même problème. Toute aide est grandement appréciée.J'ai des problèmes avec le tri
import java.util.ArrayList;
import TerminalIO.KeyboardReader;
public class Insert{
public static void main(String[] args) {
int i,j;
String tmp;
ArrayList<String> words = new ArrayList<String>();
int run = 4;
KeyboardReader reader = new KeyboardReader();
while(run!=0) {
words.add(reader.readLine("Enter a three letter word: "));
run--;
}
for (j=1; j<words.size(); j++) {
i = j - 1;
tmp = words.get(j);
while ((i>=0) && (tmp.compareTo(words.get(i)) < 0)){
words.set(i,tmp);
words.set(i+1,words.get(i));
i--;
}
//words.set(i+1,tmp);
}
for(int r = 0; r<words.size(); r++)
System.out.print(words.get(r) + " ");
}
}
Avez-vous d'implémenter votre propre genre ou tout simplement tenu de Trier? Si vous voulez simplement un tri, essayez Collections.sort (mots). Va trier par ordre alphabétique. – arynaq
Je pense qu'il est un étudiant; les élèves devraient faire les choses à la main au moins une fois. –
Oui Je suis un étudiant, le concept Collection.sort n'est pas bon pour moi car j'essaie d'apprendre à modifier la méthode d'insertion pour trier les chaînes. – Johngianni