首页 > 解决方案 > 如何用我之前创建的一维数组填充二维数组?

问题描述

我的任务是创建三个填充随机值的随机大小数组,然后创建一个二维数组并用这三个数组填充它。

我尝试使用这种代码:

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,很可能是因为我无法声明数组第二维的大小。我该怎么做呢?提前感谢您的帮助

标签: java

解决方案


您可以在声明时尝试将 1D 数组放入 2D 数组中。

例如:

        int [][] multiTab = {tab1, tab2, tab3};

推荐阅读