我正在尝试从一维数组构建一个大小为 2D 的数组,并用随机数对其进行填充。当我运行下面的代码时,为什么没有得到输出?我的 IDE 中没有错误:
public void raggedArray(){
int maxRows = 3;
int maxCols = 4;
int [] onedArray = new int [maxRows];
for (int i = 0; i < maxRows; i++){
onedArray[i] = (int) ((Math.random() * 100) * maxCols);
}
int [][] twodArray = new int[maxRows][];
for (int i = 0; i < maxRows; i++){
twodArray[i] = new int[onedArray[i]];
}
for (int i = 0; i < twodArray.length; i++){
for (int j = 0; j < twodArray[i].length; j++){
twodArray[i][j] = (int) (Math.random() * 100);
}
}
System.out.println("2 - The 2D array: ");
for (int i = 0; i < twodArray.length; i++){
for (int j = 0; j < twodArray[i].length; j++){
System.out.print(twodArray[i][j] + " ");
}
System.out.println("");
}
}
}
最佳答案
您的代码可以正确编译、运行并输出一些数字。也许 raggedArray()
的调用方式不像 Giacomo提到过?
也可能是二维数组创建不正确。我想是这样的:
twodArray[i] = new int[onedArray[i]];
应替换为:
twodArray[i] = new int[maxCols];
关于java - 为什么我在 Java 中得不到这个二维数组的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5862462/