将数据存储在多维数组中

时间:2019-03-18 06:25:41

标签: java arrays swing multidimensional-array

我将数据存储在10x5矩阵中,但是当我到达第一行的4位时,我遇到此错误“ 线程异常” AWT-EventQueue-0“ java.lang.ArrayIndexOutOfBoundsException:5 < / strong>”。我认为该错误是在 listPatients [0] [counter] 中,但我不知道该怎么办。

public class PatientForm extends javax.swing.JFrame {

       Patient[][] patientList;

        int counter;

    public PatientForm() {
        initComponents();

        patientList = new Patient[10][5];

        counter = 0;
    }


  private void btnasignarActionPerformed(java.awt.event.ActionEvent evt) {                                           
            if (counter < listPatients.length) {
            String identification = txtidentification.getText();
            String name= txtname.getText();
            String lastName = txtlastName.getText();
            String eps = txteps.getText();
            boolean type = jrbtipo1.isSelected();
            String diagnosis = txtdiagnostico.getText();

                Patient objPatient = new Patient(identification, name, lastName, eps, type, diagnosis);


                listPatients[0][counter] = objPatient;
                counter++;

                JOptionPane.showMessageDialog(this, "Head" + counter + " Patients.");
            }else {
                JOptionPane.showMessageDialog(this, "Error", "Error", JOptionPane.ERROR_MESSAGE);
            }
        }
}

1 个答案:

答案 0 :(得分:1)

10x5矩阵表示您可以使用[0-9] [0-4]中数组的索引。这就是为什么您收到IndexOutOfBound异常的原因。 您正在尝试访问listPatients[0][5]。第二个索引值为5,该值不可用。该数组任何行的最后一个索引为listPatients[0-9][4]

检查您的计数器值,因为它是5。在访问该数组的任何索引之前,请更正此值或验证该值。