A voir également:
- Tri d un vector en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Tri excel - Guide
- Java décompiler - Télécharger - Langages
3 réponses
Bonjour,
Personne à une idée sur mon problème!!! on doit bien pouvoir faire un tri d 'un vector!!!
Merci de vos réponses
Personne à une idée sur mon problème!!! on doit bien pouvoir faire un tri d 'un vector!!!
Merci de vos réponses
peut- être:
La classe de test:
import java.util.*;
public class Test {
/** Vecteur des voies possibles après contrôle. */
private Vector<BeanVoie> m_listeVoies;
public Vector getListeVoie() {
/*tu doit faire le test avant de trier
* sinon tu peut faire un tri sur null
*/
if(m_listeVoies == null){
m_listeVoies = new Vector<BeanVoie>();
}
triListeVoie();
return m_listeVoies;
}
public void triListeVoie() {
// La liste des voies est un vecteur de tableaux de string
Collections.sort(m_listeVoies, new Comparator() {
public int compare(Object arg0, Object arg1) {
return ((BeanVoie) arg0).getScore()
- (((BeanVoie) arg1).getScore());
}
});
}
}
la classe de BeanVoie:
public class BeanVoie {
private String[] tabVoie = new String[24];//24 est la taille du tableau
public BeanVoie(){
/*le constructeur*/
}
/*les accesseurs*/
public int getScore() {
return Integer.parseInt(tabVoie[24]);
}
public String[] getTabVoie(){
return tabVoie;
}
}
Ton probleme venait de:
srore=tabVoie[24];
pas possible car score est un int et tabVoie[24] une String
donc
score = Integer.parsInt(tabVoie[24]);
et de
Collections.sort(m_listeVoies, new Comparator() {
public int compare(Object arg0, Object arg1) {
return ((BeanVoie) arg0).getScore()
- (((BeanVoie) arg1).getScore());
}
car ici tu cast arg0 et arg1 en BeanVoie alors qu'il sont d'après ce que tu veut des String[];
Remarque:Il me semble qu'il est impossible de mettre desString [] dans un Vecteur(a vérifier).
Et puis la logique même du programme entier était à revoir. Java est un lagage OBJET il faut donc coder avec des objet...
La classe de test:
import java.util.*;
public class Test {
/** Vecteur des voies possibles après contrôle. */
private Vector<BeanVoie> m_listeVoies;
public Vector getListeVoie() {
/*tu doit faire le test avant de trier
* sinon tu peut faire un tri sur null
*/
if(m_listeVoies == null){
m_listeVoies = new Vector<BeanVoie>();
}
triListeVoie();
return m_listeVoies;
}
public void triListeVoie() {
// La liste des voies est un vecteur de tableaux de string
Collections.sort(m_listeVoies, new Comparator() {
public int compare(Object arg0, Object arg1) {
return ((BeanVoie) arg0).getScore()
- (((BeanVoie) arg1).getScore());
}
});
}
}
la classe de BeanVoie:
public class BeanVoie {
private String[] tabVoie = new String[24];//24 est la taille du tableau
public BeanVoie(){
/*le constructeur*/
}
/*les accesseurs*/
public int getScore() {
return Integer.parseInt(tabVoie[24]);
}
public String[] getTabVoie(){
return tabVoie;
}
}
Ton probleme venait de:
srore=tabVoie[24];
pas possible car score est un int et tabVoie[24] une String
donc
score = Integer.parsInt(tabVoie[24]);
et de
Collections.sort(m_listeVoies, new Comparator() {
public int compare(Object arg0, Object arg1) {
return ((BeanVoie) arg0).getScore()
- (((BeanVoie) arg1).getScore());
}
car ici tu cast arg0 et arg1 en BeanVoie alors qu'il sont d'après ce que tu veut des String[];
Remarque:Il me semble qu'il est impossible de mettre desString [] dans un Vecteur(a vérifier).
Et puis la logique même du programme entier était à revoir. Java est un lagage OBJET il faut donc coder avec des objet...