我的任务是创建三个随机大小的数组并填充随机值,然后创建一个二维数组并用这三个数组填充它。
我尝试使用这种代码:
int[] tab1 = new int[(int)(Math.random() * 10)];
for(int i = 0; i<tab1.length; i++){
tab1[i] = (int)(Math.random() * 10);
}
int[] tab2 = new int[(int)(Math.random() * 10)];
for(int i = 0; i<tab2.length; i++){
tab2[i] = (int)(Math.random() * 10);
}
int[] tab3 = new int[(int)(Math.random() * 10)];
for(int i = 0; i<tab3.length; i++){
tab3[i] = (int)(Math.random() * 10);
}
int[][] multiTab = new int[3][];
for(int a=0; a<tab1.length; a++){
multiTab[0][a] = tab1[a];
}
for(int b=0; b<tab2.length; b++){
multiTab[1][b] = tab2[b];
}
for(int c=0; c<tab3.length; c++){
multiTab[2][c] = tab3[c];
}
但是环境抛出了 NullPointerException
,很可能是因为我无法声明数组第二维的大小。我该怎么做呢?感谢您提前提供帮助
最佳答案
你可以这样做:
int[][] multiTab = new int[3][Math.max(tab1.length, Math.max(tab2.length, tab3.length))];
关于java - 如何用之前创建的一维数组填充二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61431091/