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。
添加回答
舉報