Java:vector addElement besoin aide

cs_domxaline Messages postés 327 Date d'inscription jeudi 21 août 2008 Statut Membre Dernière intervention 10 mai 2012 - 22 avril 2012 à 16:34
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 - 22 avril 2012 à 17:06
import java.util.*;
public class LanguageVector 
{
public static void main(String args[])
{ 
Vector list=new Vector ();
int length=args.length;
for(int i=0;i<length;i++)
{ 
list.addElement(args[i]);
}
list.insertElementAt("COBOL",2);
int size=list.size();
String listArray[]=new String[size];
list.copyInto(listArray);
System.out.println("list of language");
for(int i=0;i<size;i++)
{
System.out.println(listArray[i]);
}
}
}

en l'exécutant j'ai un erreur suivante
"Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 > 0
at java.util.Vector.insertElementAt(Unknown Source)
at LanguageVector.main(LanguageVector.java:12)"

la ligne 12 est la suivant
list.insertElementAt("COBOL",2);

j'ai comprends bien que 2 est superieur 0,et il n'y a aucun élément est in serré
je veux in-serrer les éléments suivantes Ada,Basic,Java
mais je ne sais pas comment les in-serrer,
quelqu'un peut m'aider svp
si j'ajoute dans l'args,ce dernier me dit erreur

1 réponse

cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
22 avril 2012 à 17:06
Salut,

Le code que tu as va ajouter tous les paramètres donnés à l'application (via la ligne de commande) au vecteur et puis ajouter à la troisième position la valeur COBOL. Si maintenant tu ajoutes moins de deux paramètres, tu auras donc une erreur ArrayIndexOutOfBoundsException.

Si tu veux tu peux simplement utiliser la méthode add (et il ajoute la valeur COBOL à la suite du vecteur) et si tu veux vraiment insérer, tu peux faire:
list.insertElementAt("COBOL", Math.min(list.size(),2));

il va insérer l'élément à 2 sauf si la taille du vecteur est plus petite, alors il insère comme dernier élément...

Je ne sais pas si cela répond à tes besoins, mais j'avoue ne pas très avoir compris ce que tu voulais faire...
0
Rejoignez-nous