Προς το περιεχόμενο

Vectors (java.lang.ArrayIndexOutOfBoundsException: 0 >= 0)


kapamarous

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημέρα σας.

 

Έχω ενα πρόβλημα με το αντικειμενο Vector , όπως γραφω και στον τίτλο μου πετάει exception (java.lang.ArrayIndexOutOfBoundsException: 0 >= 0).

 

Ο κώδικας που γεμίζω τα VectorS είναι αυτος

>private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
   Object source;
   quantityVector = new Vector();
   sizeVector = new Vector();
   for (int i = 0; i < jPanel2.getComponentCount(); i++) {
       source = jPanel2.getComponent(i);
       if (source instanceof JTextField) {
           JTextField myField = (JTextField) source;
           
           if (myField.getText().equals("")) {
           } else {
               quantityVector.addElement(myField.getText());
               System.out.print(myField.getText());
               countValues++;
           }
           if (source instanceof JComboBox) {

               JComboBox myCombo = (JComboBox) source;
               if (String.valueOf(myCombo.getSelectedItem()).toString().equals("")) {
               } else {
                       sizeVector.addElement(String.valueOf(myCombo.getSelectedItem()).toString());
               }
           }
       }
   }

 

Και ο κώδικας που μου πεταει το Exception είναι αυτός

>
for (int j = 0; j < quantityVector.size(); j++) {
       try {
           Statement state = myConne.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
           [b]int update = state.executeUpdate("INSERT INTO products_sizes (products_id,size_id,quantity) VALUES ('"[/b]
                   + String.valueOf(products_id).toString() + "','"
                   + String.valueOf(sizeVector.elementAt(j)).toString() + "','"
                   + String.valueOf(quantityVector.elementAt(j)).toString() + "')");

           if (update != 0) {
               jLabel23.setText("Η ενημέρωση έγινε με επιτυχία");
               setEnableMainPanel();
               setDisabledSizes();
           }
       } catch (Exception ex) {
           ex.printStackTrace();
       }
   }

Στην σειρά που είναι με bold σταματάει ο compiler με Exception(java.lang.ArrayIndexOutOfBoundsException: 0 >= 0)

 

Δεν μπορώ να καταλάβω τι φταίει .

Ευχαριστώ εκ των προτέρων.

Δημοσ.
O sizeVector εχει ιδιο μεγεθος με τον quantityVector?

 

Ναι ακριβώς το ίδιο μέγεθος.¨οσα ειναι τα textfields ειναι και τα comboboxes.

Τώρα παρατήρησα ότι την πρώτη τίμη του sizeVector και την πρωτη τιμη quantityVector τις δέχεται.Στην επομενη τιμη πεταει exception

Δημοσ.

Το error αυτό ArrayIndexOutOfBoundsException σημαινει οτι βγαινεις απο τα όρια του πίνακα.. Οποτε σε ενα απο τα δύο sizeVector.elementAt(j) και quantityVector.elementAt(j) υπάρχει το πρόβλημα.(μπορει και στα 2)...

 

Για βαλε ενα print πριν το for αυτο που τυπωνει τα sizes των 2 vector για να σιγουρευτουμε οτι ειναι οντως ιδια.

Δημοσ.

Τώρα παρατήρησα ότι την πρώτη τίμη του sizeVector και την πρωτη τιμη quantityVector τις δέχεται.Στην επομενη τιμη πεταει exception

Δημοσ.

για δοκίμασε να σπάσεις την εντολή αυτή σε μικρότερες

 

π.χ.

 

>
............................
String a= String.valueOf(products_id).toString() + "','";
System.out.println("a no error");
String b= String.valueOf(sizeVector.elementAt(j)).toString() + "','";
System.out.println("b no error");
String c= String.valueOf(quantityVector.elementAt(j)).toString() + "')"; 
System.out.println("c no error");
String d="INSERT INTO products_sizes (products_id,size_id,quantity) VALUES ('"+ a+b+c;
System.out.println("d no error");
System.out.println("d="+d);
int update = state.executeUpdate(d);
System.out.println("update no error");
.............

 

και πες τι αποτέλεσμα σου βγάζει κατά την εκτέλεση.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...