Java: vector

domxaline -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,
j'ai un souci avec ce prg

import java.util.*;//importing vector class
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 compilaant j'ai un erreur suivant:
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
list.insertElementAt("COBOL",2);

si je comprend bien, il manque la liste ,je ne sais pas comment
l'ajouter cette liste quelqu'un peut m'aider
merci d'avance
A voir également:

2 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
Une exception ArrayOutOfBoundsException ce n'est pas une erreur de compilation mais d'exécution. Elle est de plus détaillée : "2 > 0" ce qui signifie que tu insères un élément en position 2 d'un vecteur qui possède 0 élément !
En l'occurrence ça doit venir du fait que args est vide, donc aucun élément n'est ajouté à ton Vector pendant la boucle for, d'où l'exception sur le insertElementAt

Remarque : À moins de travailler sur une application multi-thread, ce qui n'est pas ton cas, il faut privilégier la classe ArrayList à la classe Vector, elle fera tout pareil mais en implémentant l'interface Collection, ce qui te permet d'utiliser les méthodes de Collections dont l'intérêt n'est pas négligeable...
La confiance n'exclut pas le contrôle
0
domxaline
 
ok
comment ajouter les éléments dans l'args;
c'est ça ma question,aidez moi svp
j'entrain de apparendre java pour ça je vous demande
0
KX Messages postés 19031 Statut Modérateur 3 020
 
les éléments dans args sont passés au programme au moment du démarrage.

Exemple :

public class Test
{
    public static void main(String...args)
    {
        for (String s : args)
            System.out.println(s);
    }
}

javac Test.java
java Test Tata Tete Titi Toto Tutu
0