Erreur java.lang.ArrayIndexOutOfBoundsException: dans ayyarlist

sisisousou Messages postés 43 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 24 janvier 2012 - 5 févr. 2011 à 22:22
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 9 févr. 2011 à 18:10
bonsoir, a l'aide j'arrive plus a détecter l'erreur voici le bout de mon code qui fait tri d'une JList
public static void TriIneteger(JList list,int nbr){
Vector Chan = new Vector();
DefaultListModel model ;
HashMap<String,Integer> Map = new HashMap<String,Integer>();
final List<Entry<String, Integer>> entries ;

model = (DefaultListModel) list.getModel();
for(int i=0;i<model.size();i++){
Chan.add(model.getElementAt(i));
}
model.removeAllElements();
for(int i=0;i<Chan.size();i++){
Vector V = new Vector();
V.add(Chan.elementAt(i));
V = SubString(Chan.elementAt(i).toString());
Map.put(V.elementAt(0).toString(), Integer.parseInt(V.elementAt(1).toString()));
}
    entries = new ArrayList<Entry<String, Integer>>(Map.entrySet());
Collections.sort(entries, new Comparator<Entry<String, Integer>>() {
    public int compare(final Entry<String, Integer> e1, final Entry<String, Integer> e2) {
      return e2.getValue().compareTo(e1.getValue());
    }
}); 

for (final Entry<String, Integer> entry : entries) {	
  if(entry.getValue()>=nbr){
//System.out.println(entry.getKey()+" "+entry.getValue());  
model.addElement(entry.getKey()+" "+entry.getValue());
  } 
}
list.setModel(model);

j'appel cette méthode deux fois a la première fois sa marche bien mais a la deuxième j'ai l'erreur java.lang.ArrayIndexOutOfBoundsException: quelqu'un a une idée?

6 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
7 févr. 2011 à 13:35
Salut,

l'erreur se passe où ça donc ?
Que fait SubString ?
Quand tu fais
Map.put(V.elementAt(0).toString(), Integer.parseInt(V.elementAt(1).toString()));

tu es certains que 'V' contient bien et contiendra bien toujours au minimum 2 éléments ?




------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
sisisousou Messages postés 43 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 24 janvier 2012
7 févr. 2011 à 17:10
Twinuts Eclipse ne sort pas le numéro de la ligne est ce que c'est normal sa ? et oui je suis sure que 'V' contien deux élément bizarre sa au moin eclipse donne moi un indice ou ce trouve l'erreur
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
7 févr. 2011 à 17:26
Salut,

Bah si ce n'est que V ne contient pas 2 éléments ; assure t'en stp quand même avec un System.err.println(V.size()); ou alors que ta méthode SubString génère l'exception... je ne sais pas trop...




------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
sisisousou Messages postés 43 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 24 janvier 2012
8 févr. 2011 à 16:06
le problem se situe exactement dans cette parti
for (Entry<String, Integer> entry : entries) {	
  if(entry.getValue()>=nbr){
   model.addElement(entry.getKey()+" "+entry.getValue()); 
  } 
}

quand je commente cette parti j’obtiens pas d'erreur :o est ce que le remplissage de mon DefaultLitsModel est incorrect ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sisisousou Messages postés 43 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 24 janvier 2012
9 févr. 2011 à 17:53
problème résolu :p mais s'il vous plait Twinuts une dernière question concernant le DocumentListener, j'ai plusieurs JTextPane et je veut savoir le qu'elle d'entre eux qui a subit une modification
public void changedUpdate(DocumentEvent d) {
  //comment détecter la source ici
}


comme dans un JButton ActtionListener.getSources()
et merci d'avance
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
9 févr. 2011 à 18:10
Salut,

voici un lien qui te propose une solution : ICI




------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Rejoignez-nous