【发布时间】:2019-08-08 11:36:42
【问题描述】:
我将此数据存储在 10x5 矩阵中,但是当我到达第一行的 4 位置时,出现此错误“Exception in thread”AWT-EventQueue-0 “java.lang.ArrayIndexOutOfBoundsException: 5”。我认为错误在 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);
}
}
}
【问题讨论】:
-
您没有检查计数器是否超过数组长度,即 5。因此,如果调用此方法的次数超过此值,它将始终生成
ArrayOutOfBoundsException
标签: java arrays swing multidimensional-array