java - 如何用我之前创建的一维数组填充二维数组?
问题描述
我的任务是创建三个填充随机值的随机大小数组,然后创建一个二维数组并用这三个数组填充它。
我尝试使用这种代码:
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
,很可能是因为我无法声明数组第二维的大小。我该怎么做呢?提前感谢您的帮助
解决方案
您可以在声明时尝试将 1D 数组放入 2D 数组中。
例如:
int [][] multiTab = {tab1, tab2, tab3};
推荐阅读
- java - Spring Cloud Stream / Kafka 异常
- laravel - 如何在共享主机上运行队列工作者
- mysql - 什么时候在 sql 中执行聚合函数(如 sum()、max().. 等)
- angular5 - 在组件上手动调用 changeDetect() 时未调用 ngOnInit 或 ngOnChanges
- javascript - 如何从 nodejs c ++ 扩展中调用 JS 函数
- c# - 如果创建从接口继承的类的对象,我可以调用什么函数?
- c# - SQL Server EXPRESS:错误:26 - 安装后指定的服务器/实例错误定位
- python - 熊猫数据框中的条件分组
- java - 在 if 和 else 语句之外使用字符串来设置字符串值
- java - ArrayIndexOutOfBoundsException - Retrofit 2.4.0 调用