gpt4 book ai didi

Java for 循环变成负数?

转载 作者:行者123 更新时间:2023-12-01 09:35:25 26 4
gpt4 key购买 nike

在我的程序中,我想删除数组中的所有项目,其中 hd 不在 temp_unten 和 temp_oben 之间,但 for 循环转到 -1 并给我失败(我用“^”标记了该行):

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

    if (hd) {
int temp_unten = Integer.parseInt(spnHDUnten.getValue() + "");
int temp_oben = Integer.parseInt(spnHDOben.getValue() + "");

switch (cmbHDOben.getSelectedItem() + "") {
case "MB":

break;

case "GB":
temp_oben = temp_oben * 1000;
break;

case "TB":
temp_oben = temp_oben * 1000 * 1000;
break;
}
switch (cmbHDUnten.getSelectedItem() + "") {
case "MB":

break;

case "GB":
temp_unten = temp_unten * 1000;
break;

case "TB":
temp_unten = temp_unten * 1000 * 1000;
break;
}

if (!(temp_oben < temp_unten)) {
for (int i = zutreffendeObjektnummern.size() - 1; i >= 0; i--) {

for (int i2 = GUI.objekte_objekt_ID.size() - 1; i >= 0; i2--) {
^ if (!(GUI.hd.get(i2).replaceAll("[^0-9.,]+", "").equalsIgnoreCase("")) && Integer.parseInt(GUI.objekte_objekt_ID.get(i2).replaceAll("[^0-9.,]+", "")) == Integer.parseInt(zutreffendeObjektnummern.get(i).replaceAll("[^0-9.,]+", ""))) {

if (Integer.parseInt(GUI.hd.get(i2).replaceAll("[^0-9.,]+", "")) < temp_unten || Integer.parseInt(GUI.hd.get(i2).replaceAll("[^0-9.,]+", "")) > temp_oben) {
zutreffendeObjektnummern.remove(i);
}

}
}

}

} else {
JOptionPane.showMessageDialog(this, "Von/Bis muss beim Auswahlen von Spannen beachtet werden!", "Fehlerhafte Eingabe", JOptionPane.INFORMATION_MESSAGE);
}

}

感谢您的帮助:)

最佳答案

您的内部 for 循环条件应使用 i2 而不是 i。它应该看起来像这样:

for (int i2 = GUI.objekte_objekt_ID.size() - 1; i2 >= 0; i2--)

关于Java for 循环变成负数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38998870/

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