IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

java.lang.ArrayIndexOutOfBoundsException: 0 >= 0


Sujet :

avec Java

  1. #1
    Membre du Club
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    39
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 39
    Points : 40
    Points
    40
    Par défaut java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
    Bonjour,
    je reçois cette erreur :java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
    lorseque j'execute mon script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    public void doQRPatient() {
         System.out.println("methode patien dcm");
            String cmd = "";
            MyParser parser = new MyParser();
            Vector total1 = new Vector();
            Vector total2 = new Vector();
            Vector total3 = new Vector();
            try {
                cmd = userDir + BIN_DCMQR + java.util.ResourceBundle.getBundle("pacs/resources/Strings").getString("_-R_00080090_-R_00100010_-R_00100020_-R_00081030_") + " " + aeTitle + "@" + address + ":" + port;
                System.out.println("COMANDO 1:" + cmd);
                total1 = executer(cmd);
                for (int i = 0; i < total1.size(); i++) {
                    System.out.println(i+".-\t"+(String)total1.elementAt(i));
                }
                System.out.println("app comb vec-ref");
                combineVectors1_referring_2(1, parser.parsePatient(total1.toArray()), parser.parseStudyUID(total1.toArray()), parser.parseNumberSeries(total1.toArray()), parser.parseNumberImages(total1.toArray()), parser.parseReferring(total1.toArray()), parser.parseStudyDesc(total1.toArray()));
                parent.showMessage(java.util.ResourceBundle.getBundle("pacs/resources/Strings").getString("INICIADA_COMUNICACION_DICOM_CON_EL_NODO:_") + " "+aeTitle + "@" + address + ":" + port);
     
     
            } catch (Exception err) {
                err.printStackTrace();
                //parent.showMessage(java.util.ResourceBundle.getBundle("com/jjcp/resources/Strings").getString("HAOCURRIDOUNERROR")+aeTitle+"@"+address+":"+port);
                parent.showMessage("ERROR :" + aeTitle + "@" + address + ":" + port);
            }
        }
    la methode execute est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    private Vector executer(String cmd) {
    		Vector result = new Vector();
    		try {
                        System.out.println("method executer");
    			Process p = Runtime.getRuntime().exec(cmd);
    			BufferedReader input = new BufferedReader(new InputStreamReader(p
    					.getInputStream()));
    			String line;
    			while ((line = input.readLine()) != null)
    				result.addElement(line);
                            System.out.println("line");
    			input.close();
    		} catch (Exception ex) {
    			ex.printStackTrace();
    		}
    		return result;
    	}


    dans le out put j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    methode patien dcm
    COMANDO 1:C:\Documents and Settings\Administrateur\Mes documents\NetBeansProjects\pacs/bin/dcmqr.bat -r 00080090 -r 00100010 -r 00100020 -r 00081030 DCM4CHEE@127.0.0.1:11112
    method executer
    java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
    line
    app comb vec-ref
    at java.util.Vector.elementAt(Vector.java:427)
    at pacs.MyDCM.combineVectors1_referring_2(MyDCM.java:469)
    at pacs.MyDCM.doQRPatient(MyDCM.java:101)
    at pacs.PacsView.listarEstudios(PacsView.java:314)
    at pacs.PacsView.access$800(PacsView.java:39)
    at pacs.PacsView$4.run(PacsView.java:298)
    31 mars 2011 20:20:44 pacs.PacsView$4 run
    GRAVE: null
    java.lang.NullPointerException
    at pacs.PacsView.listarEstudios(PacsView.java:316)
    at pacs.PacsView.access$800(PacsView.java:39)
    at pacs.PacsView$4.run(PacsView.java:298)
    alors si quelqu'un a une idée de cette erreur ,sa sera une grande générosité de lui de me l'indiquer .
    merci d'avacne
    Revenir à l'édition

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2010
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 501
    Points : 1 060
    Points
    1 060
    Par défaut
    Bonjour,

    Apparemment est levée par la méthode combineVectors1_referring_2 peut avoir son code ?

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Vous essayez de lire le premier élément d'une vecteur vide, ce n'est pas possible.

  4. #4
    Membre du Club
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    39
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 39
    Points : 40
    Points
    40
    Par défaut
    bonjour,
    Merci tchize ,oui ça se voit que j'essaie de lire le premier élément d'une vecteur vide(dans method executer ,mes il faut qu'il soit plein pour que je puisse continuer .je suis certaine que la commande s'excute et rend des données.
    et le script de combinevector est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    private void combineVectors1_referring_2(int table, Vector vector0, Vector vector1,
    			Vector vector2, Vector vector3,Vector vector4,Vector vector5) {
    		int total = vector0.size();
    		int init = 0;
    		String str = (String) vector0.elementAt(0);
                    System.out.println("debut comb-vec");
    		if (str.startsWith(java.util.ResourceBundle.getBundle("pacs/resources/Strings").getString("_PATIENT'S_NAME")))
    			init = 1;
    		if (str.startsWith(java.util.ResourceBundle.getBundle("pacs/resources/Strings").getString("_STUDY_INSTANCE_UID")))
    			init = 1;
    		if (str.startsWith(java.util.ResourceBundle.getBundle("pacs/resources/Strings").getString("_NUMBER_OF_STUDY_RELATED_SERIES")))
    			init = 1;
    		if (str.startsWith(java.util.ResourceBundle.getBundle("pacs/resources/Strings").getString("_NUMBER_OF_STUDY_RELATED_INSTANCES")))
    			init = 1;
    		if (str.startsWith(java.util.ResourceBundle.getBundle("pacs/resources/Strings").getString("_MODALITY")))
    			init = 1;
    		if (str.startsWith(java.util.ResourceBundle.getBundle("pacs/resources/Strings").getString("_NUMBER_OF_SERIES_RELATED_INSTANCES")))
    			init = 1;
    		if (str.startsWith(java.util.ResourceBundle.getBundle("pacs/resources/Strings").getString("_STUDY_INSTANCE_UID")))
    			init = 1;
    		if (str.startsWith(java.util.ResourceBundle.getBundle("pacs/resources/Strings").getString("_SERIES_INSTANCE_UID")))
    			init = 1;
                    if (str.startsWith(java.util.ResourceBundle.getBundle("pacs/resources/Strings").getString("_STUDY_DESCRIPTION")))
    			init = 1;
    		for (int i = init; i < total; i++) {
    			Vector vector = new Vector();
    			vector.addElement(vector0.elementAt(i));                        
    			vector.addElement(vector1.elementAt(i));
                            vector.addElement(vector5.elementAt(i));
    			vector.addElement(vector2.elementAt(i));
    			vector.addElement(vector3.elementAt(i));
    			vector.addElement(vector4.elementAt(i));
    			toTable(table, vector);
    		}
    	}
    alors si quelqu'un a une idee prière de me le dire .
    merci d'avance

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    le vecteur mentionné à la ligne de l'erreur

    at pacs.MyDCM.combineVectors1_referring_2(MyDCM.java:469)

    est vide. Il n'y a pas d'autre explication à donné. Pourquoi il est vide, à vous de voir, on a pas la moindre idée de quel vecteur il s'agit ni comment il est supposé être rempli.

  6. #6
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Citation Envoyé par maitoti Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    			init = 1;
    		for (int i = init; i < total; i++) {
    			Vector vector = new Vector();
    			vector.addElement(vector0.elementAt(i));                        
    			vector.addElement(vector1.elementAt(i));
                            vector.addElement(vector5.elementAt(i));
    			vector.addElement(vector2.elementAt(i));
    			vector.addElement(vector3.elementAt(i));
    			vector.addElement(vector4.elementAt(i));
    			toTable(table, vector);
    		}
    	}
    en regardant les compteur de la boucle, ne faut-il pas faire faire "vectorX.elementAt(i-1)" ?

    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

Discussions similaires

  1. java.lang.ArrayIndexOutOfBoundsException : 0
    Par kaiser59 dans le forum Général Java
    Réponses: 4
    Dernier message: 12/09/2009, 22h23
  2. Erreur java lang.ArrayIndexOutOfBoundsException
    Par lerorodu51 dans le forum NetBeans
    Réponses: 8
    Dernier message: 04/06/2009, 19h17
  3. Réponses: 4
    Dernier message: 17/11/2007, 15h29
  4. [XSLT] java.lang.ArrayIndexOutOfBoundsException sur Transformation XSLT
    Par SONY30 dans le forum Format d'échange (XML, JSON...)
    Réponses: 11
    Dernier message: 11/12/2006, 16h59
  5. Réponses: 4
    Dernier message: 30/07/2006, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo