gpt4 book ai didi

java - Java越界错误

转载 作者:行者123 更新时间:2023-12-03 09:15:37 26 4
gpt4 key购买 nike

我一直越界错误。我想检查重复项。此后还有更多,但就目前而言,所有重要的事情都说我正在使用OutOfBoundsException来获取ArrayList,index:1 size:1

ArrayList lottery = new ArrayList();

for (int n = 0; n < 4;) {
int number = 0;
int first = 0;
int value = 0;
boolean found = false;
first = (int) (Math.random() * 42 + 1);
lottery.add(first);
count[first]++;

for (int i = 1; i < 6;) {
number = (int) (Math.random() * 42 + 1);

for (int k = 0; k < 6;) {
// here value = lottery.get(k);
if (value == number) {
found = true;

} else {
found = false;
}

if (found == true) {
number = (int) (Math.random() * 42 + 1);

} else {
k++;

}

}
System.out.println("number " + (i + 1) + ": " + number);
if (found == false) {
lottery.add(number);
count[number]++;
i++;

}

}
}

最佳答案

我假设count是您要检查的数组
我注意到的两个错误
值参数从未更改,因此它将始终保持为=0在这段代码中

 number = (int) (Math.random() * 42 + 1);
if (value == number) {
found = true;

数字永远不会等于零
所以
if (found == false) {
lottery.add(number);
count[number]++;
i++;
}

将永远被执行
并且向彩票中添加新元素在每个循环中总是会发生两次
而且没有 n++所以基本上你的大for循环永远不会结束
并通过此代码
first = (int) (Math.random() * 42 + 1);

您确定计数长度正好是42,因为如果长度不足,则会导致 IndexOutOfBoundsException如果超过 42,则您不检查其中的所有元素:)
希望能有所帮助

关于java - Java越界错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34660049/

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