3 回答
TA贡献1875条经验 获得超3个赞
如我错了请纠正我。
我理解你的问题的方式是你想像这样填充矩阵:
012
345
678
在这种情况下,您可以执行前 2 个 forloop 并添加一些数学运算,以获得每个位置的正确数字:
int[][] matrix = new int[3][3];
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
matrix[i][j] = i * matrix[i].length + j;
}
}
其工作方式是对每一行 (i) 将行号乘以行长(列数)并将当前列添加到其中
TA贡献1877条经验 获得超1个赞
如果你模拟你的循环,这就是它的样子
i -> 0
j -> 0
matrix[0][0] -> loop over all values from field
这样您就可以将fields.get(8)放入矩阵中的每个索引中。
@Alan 的答案展示了如何从一维矩阵正确循环和填充二维矩阵
TA贡献1802条经验 获得超5个赞
要遍历二维字段(例如矩阵),可以使用两个 for 循环:
int dimension = 3;
int [][] matrix = new int [dimension][dimension];
for (int i = 0; i < dimension; i++){
for ( int j = 0; j < dimension; j++){
matrix[i][j] = fields.get(i).get(j);
}
}
我不完全知道您想如何检索这些值,但至少可以说您当前的调用看起来很可疑:-) 它只会将相同的值分配给 column 中的所有整数j。
添加回答
举报