亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用從方法獲得的值填充二維數組時遇到問題

使用從方法獲得的值填充二維數組時遇到問題

繁花不似錦 2022-06-08 17:40:43
我無法用通過迭代方法獲得的值填充矩陣。我想使用一個 3x3 矩陣,然后用我通過從 0 到 8 迭代我的方法獲得的值填充它。我的想法是一個 for 循環,但不幸的是它不起作用。如果有人可以提供幫助或有可以查找的鏈接,我會很高興。int[][] matrix = new int[3][3];for (int i = 0; i < matrix.length; i++){  for (int j = 0; j < matrix[i].length; j++){    for(int a = 0; a < 9; a++) {      matrix[i][j] = fields.get(a).getSign().getFieldValue();    }         }}
查看完整描述

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) 將行號乘以行長(列數)并將當前列添加到其中


查看完整回答
反對 回復 2022-06-08
?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

如果你模擬你的循環,這就是它的樣子


i -> 0

    j -> 0

        matrix[0][0] -> loop over all values from field

這樣您就可以將fields.get(8)放入矩陣中的每個索引中。


@Alan 的答案展示了如何從一維矩陣正確循環和填充二維矩陣


查看完整回答
反對 回復 2022-06-08
?
12345678_0001

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。


查看完整回答
反對 回復 2022-06-08
  • 3 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號