【发布时间】:2023-04-08 05:39:02
【问题描述】:
我是 Java 新手。试图创建二维数组列表,但得到这个 indexOutOfBoundsException: Index: 0, Size: 0
ArrayList<ArrayList<Integer>> twoDArrayList = new ArrayList<>();
for (int i = 0; i < 4; i++)
{
twoDArrayList.add(new ArrayList<>());
twoDArrayList.get(i).set(0,1);
}
为什么第二行在 for 循环中失败?当 i = 0 时,已经有一行
使用add(new ArrayList<>())创建
------------------- 感谢您的提示! ---------------------
现在我终于有了打印帕斯卡三角形的解决方案.....它的前 5 行
ArrayList> twoDArrayList = new ArrayList();
for (int i=0; i < 5; i++)
{
ArrayList<Integer> row = new ArrayList<>();
for (int j = 0; j <= i ; j++)
{
row.add(0);
}
row.set(0, 1);
row.set(i, 1);
twoDArrayList.add(row);
for (int j=1; j < i; j++)
{
twoDArrayList.get(i).set(j, twoDArrayList.get(i-1).get(j-1) + twoDArrayList.get(i-1).get(j));
}
}
for (ArrayList<Integer> row: twoDArrayList)
{
for (Integer element: row)
{
System.out.printf("%4d",element);
}
System.out.println();
}
【问题讨论】:
-
标签在你的代码中做了什么? (特别是在操作数和运算符之间...)