编写分配不规则二维 int 数组所需的代码,使得第一行有空间存储 1 个值,第二行可以存储 2 个值,第三行有空间存储 3 个值,依此类推,直到第 50 行有空间存储 50 个值。
我知道对于上述问题,我本质上必须创建一个带有二维数组的金字塔。我真的不知道如何操作二维数组,任何帮助都会很棒。到目前为止,这是我的代码,不确定如何像上面的问题所述分配空间:
import java.util.Arrays;
public class Ragged2D {
public static void main(String[] args) {
int[][] boo = new int[50][];
for(int i = 0; i < boo.length; i++){
for(int k = 0; k< boo[i].length; k++){
}
}
System.out.println(Arrays.toString(boo));
}
}
最佳答案
这是初始化二维数组的一行的方法:
public static void main(String[] args) {
int[][] boo = new int[50][];
for(int i = 0; i < boo.length; i++){
boo[i] = new int[i+1]; // initialize the i'th row to have i+1 elements
for(int k = 0; k< boo[i].length; k++){
boo[i][k] = ...
}
}
System.out.println(Arrays.deepToString(boo)); // this change is required to print 2D array
}
关于java - 用 Java 实现 Ragged 2D int 数组金字塔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30416245/