gpt4 book ai didi

java - 我该怎么做才能让我的程序不出现 IndexOutOfBounds 错误?

转载 作者:行者123 更新时间:2023-12-02 03:38:46 25 4
gpt4 key购买 nike

import java.util.Arrays;

public class Lab12st {
public static void main(String args[]) {
System.out.println("/nLab 12 80 Point Version \n");
final int MAX = 100;
boolean primes[];
primes = new boolean[MAX];
computePrimes(primes);
displayPrimes(primes);
}

public static void computePrimes(boolean listA[]) {
Arrays.fill(listA, true);

for (int j = 2; j < 100; j++) {
for (int k = 0; k <= 100; k += j) {
listA[k] = false;
System.out.println(listA[k + 1]);
}
}
}
}

我尝试使用不同的关系运算符,交换一些数字,但仍然得到 IndexOutofBounds错误。我认为这是因为我有 100 个数组元素,列出了 0-99,但我不知道如何解决这个问题。任何帮助将不胜感激。

最佳答案

在您的内部循环中,条件导致了问题

 for (int k = 0; k <= 100; k += j)

在每次迭代中,索引 k 都会增加等于 j 的值

由于数组大小在某些时候为 100,您将收到索引越界错误。

我的问题是为什么要执行这样的增量?您的代码实际上在做什么?

除此之外,您还应该留意这行代码并相应地调整 for 循环的条件

System.out.println(listA[k + 1]);

关于java - 我该怎么做才能让我的程序不出现 IndexOutOfBounds 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37105157/

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