gpt4 book ai didi

java - "Exception in thread "主 "java.lang.IndexOutOfBoundsException: Index: 0, Size: 0"与 ArrayList?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:55:23 26 4
gpt4 key购买 nike

"Exception in thread "main"java.lang.IndexOutOfBoundsException: Index: 0, Size: 0"是我在编译此方法时遇到的主要错误:

public static ArrayList<ArrayList<Integer>> createSparseArray(int len, double den) {
int counter = 0;
ArrayList<Integer> placeHolder = new ArrayList<Integer>();
for (int j = 0; j < len; j++) {
double randomNumber = Math.random();
if (randomNumber < den) {
counter++;
placeHolder.add(j);
}
}
ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
for (int k = 0; k < counter; k++) {
for (int m = 0; m < 2; m++) {
list.get(0).set(placeHolder.get(k), (int) (Math.random() * (99999) + 1));
}
}
return list;
}

我该如何解决这个问题?

最佳答案

ArrayList<ArrayList<Integer>> list在第 (0) 位置不包含任何元素,当编译器在指定位置找不到任何元素时,编译器会在迭代时抛出越界异常。

当您尝试执行 list.get(0).set(placeHolder.get(k), (int) (Math.random() * (99999) + 1)); 时语句,您的列表中不包含任何元素。您需要迭代内部列表来设置 list 的值.

关于java - "Exception in thread "主 "java.lang.IndexOutOfBoundsException: Index: 0, Size: 0"与 ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26272508/

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