编写分配参差不齐的2-D int数组所需的代码,使第一行有空间存储1个值,第二行可以存储2个值,第三行有空间存储3个值,等等到第50行有空间存储50个值。
我知道上面的问题我必须基本上创建一个带有二维数组的金字塔。我真的不知道如何操纵2D数组,任何帮助都会很棒。这是我的代码到目前为止,不知道如何分配空间像上面的问题所说:
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));
}
}
答案 0 :(得分:1)
这是初始化2D数组的一行:
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
}
答案 1 :(得分:1)
我想这就是你需要的东西
int[][] boo = new int[50][];
for (int i=0;i<50;i++) {
boo[i] = new int[i+1];
}
这样boo [0]可以包含1个元素(boo [0] [0]),boo [1]可以包含2个元素(boo [0] [0]和boo [0] [1])等。