gpt4 book ai didi

java - 获取 ArrayList 中的下一个值(不工作)

转载 作者:行者123 更新时间:2023-11-29 06:31:00 37 4
gpt4 key购买 nike

每次用户按下按钮(使用 Swing)时,我都会尝试获取特定数组列表中的下一个值。

这是我的尝试:

private void BNextActionPerformed(java.awt.event.ActionEvent evt) {
int i = 0;
Parse p = new Parse();
temp = p.getTemp();
temp2 = p.getTemp2();
temp3 = p.getTemp3();

if (CBUniversities.getSelectedIndex() == 0) {
LNumStudents.setText("Number of students: " + temp);
Student s = p.getMacList().get(i+1);
jTextField2.setText(s.getFirstName());
TLastName.setText(s.getSurName());
jTextArea1.setText(s.getAddress());
i++;
}
}

其中 Parse 是一个类,包含 3 个整数的 getter 方法temp、temp2、temp3 和一个 ArrayList 的 getter。Student s 是 Student 类的对象,其中每个学生都有名字、姓氏和地址(在构造函数中初始化)。

当执行此 if 语句时,它会在指定字段中显示学生信息,但是,这仅适用于前两名学生。在那之后,i 值似乎永远不会增加?

我试图在 if 语句中放置一个 println 检查以查看它的值,但奇怪的是它只更改一次。

我也试着把它变成一个 for 循环,但是这个值似乎又只改变了一次(我的)。

Parse 有我正在使用的这个 getter 方法

public ArrayList<Student> getMacList() {
return mac;
}

CBUniversities 本身也是一个变量:

private javax.swing.JComboBox CBUniversities;

我不确定这里出了什么问题,有什么想法吗?

最佳答案

您在方法范围内声明了 i,因此每次您的方法执行时它都会重新初始化 i

相反,通过将 private int i = 0; 放在方法之外但仍在类范围内来声明实例变量。

关于java - 获取 ArrayList 中的下一个值(不工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33880333/

37 4 0