gpt4 book ai didi

java - 元素的 ArrayList 链接并获取 IndexOutOfBoundsException

转载 作者:行者123 更新时间:2023-11-29 03:09:37 24 4
gpt4 key购买 nike

这是我的代码简介:

public class FabianFerenc extends FogolyBase{

ArrayList<Boolean> ellenfelValaszai = new ArrayList<Boolean>();


private void deleteList(){
for(int i=0;i<ellenfelValaszai.size();i++){
ellenfelValaszai.remove(i);
}
}

@Override
public boolean masikEllenVall(int iFordulo) {

if(this.ellenfelValaszai.size()>0){
System.out.println(this.ellenfelValaszai.get(iFordulo));
}

if(this.ellenfelValaszai.size()>999){deleteList();}
return true;
}

@Override
public void masikMitMondott(int iFordulo, boolean bMasikValasza) {
this.ellenfelValaszai.add(bMasikValasza);
}
}

当我想在“masikEllenVall”方法中写入“ellenfelValaszai”列表中的所有内容时,我总是收到此错误消息:

java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:638)
at java.util.ArrayList.get(ArrayList.java:414)
at Foglyok.FabianFerenc.masikEllenVall(FabianFerenc.java:51)

iFordulo 变量是一个从 0 到 999 计数的计数器。

最佳答案

将您的代码更改为以下内容:

 @Override
public boolean masikEllenVall(int iFordulo) {

if(this.ellenfelValaszai.size() > iFordulo){ //if iFordulo always >= 0 it's sufficient check to be sure array isn't empty
System.out.println(this.ellenfelValaszai.get(iFordulo));
}

if(this.ellenfelValaszai.size()>999){deleteList();}
return true;
}

另请阅读其他答案,尤其是关于如何清除阵列的内容。

关于java - 元素的 ArrayList 链接并获取 IndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30126435/

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