我一直在试图弄清楚这里到底发生了什么。我只是想弄清楚下面我评论的那两行代码在做什么。我找到了一个程序,它没有声明数组的完整维度(而是使用“new int[10] [];”来表示未声明)。好像第二个数组长度并不重要(将其更改为1或100不会影响输出)。
int[][] tri = new int[10][]; //this lack of giving the size of the 2nd array is strange
for (int r=0; r<tri.length; r++) {
tri[r] = new int[r+1]; //I'm not sure what this line is doing really
}
for (int r=0; r<tri.length; r++) {
for (int a=0; a<tri[r].length; a++) {
System.out.print(tri[r][a]);
}
System.out.println();
}
new int [10] []
表示“创建一个可以容纳'int []'对象的数组,并为它们分配10个插槽。”你代码片段的第三行表示“创建一个具有'r + 1'插槽的int数组,并将新数组放入已存在的插槽'r'中。”你可以随意调整这11个数组的大小,所有11个大小都是独立的。 - Riley Lark