gpt4 book ai didi

java - 全局变量重置

转载 作者:行者123 更新时间:2023-12-01 14:07:33 25 4
gpt4 key购买 nike

我有一个想要更新的数组列表,但它给出了“索引越界”错误。我似乎找不到错误。需要一双新鲜的眼睛。

Global.variables.add(new String[]{(String) jComboBox1.getSelectedItem(), jTextField2.getText(), jTextField3.getText(), (String) jComboBox2.getSelectedItem(), "Reservado"});

public void generateRandom() {
for (int i = 0; i < Global.variables.size()-1; i++) {
System.out.println("Searching "+Global.variables.get(i)[0]+" in temp "+i);
for (int j = 0; j < temp.size()-1; j++) {
System.out.println("Testing "+Global.variables.get(i)[0]+" with "+temp.get(j)+" "+j);
if (Global.variables.get(i)[0].equals(temp.get(j))) {
System.out.println("FOUND!");
Global.variables.get(i)[4] = String.valueOf(Double.parseDouble(Global.variables.get(i)[1]) + mt.nextGaussian() * Double.parseDouble(Global.variables.get(i)[2]));
System.out.println(Global.variables.get(i)[0]+" = "+Global.variables.get(i)[4]);
}
}
}
}

Global.variables 包含(名称、中位数、标准差、分布、“保留”); temp 包含一些变量的名称。因此,我尝试运行变量列表,看看它们是否在 temp 中,并更新“保留”字段...但是:它给了我错误:

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 4

可能很简单,但我似乎找不到它是什么。

已解决:我在另一个地方初始化 Global.variables,因此某些变量实际上具有第五个元素,但其他变量则没有。谢谢:)

最佳答案

您正在许多地方访问 Global.variables.get(i),它返回一个数组,您正在访问它的元素而不检查它是否存在

Global.variables.get(i)[4]
Global.variables.get(i)[2]

在尝试检索它之前,您需要检查大小并确认它是否存在。如果索引大于或等于 size() 那么您将收到异常

关于java - 全局变量重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18782914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com