2016-05-11 57 views
1

這是我的代碼,它應該工作,但是當我轉置和打印矩陣時,它輸出相同的矩陣,而不是轉置。 有些解釋? 它應該改變矩陣,而不是複製和轉置然後返回。 public void transpose(){java中的矩陣轉置(需要說明)

for(int i=0;i<n;i++) 
     for(int j=0;j<m;j++){ 
      Object tmp=matrix[i][j]; 
      matrix[i][j]=matrix[j][i]; 
      matrix[j][i]=tmp; 
     } 
} 
+1

提示:嘗試後,打印您的矩陣每個循環步驟。從小矩陣開始;併爲每個單元使用不同的值。 – GhostCat

回答

0

你在內部循環中有錯誤的索引。

for (int i = 0; i < n; i++) { 
     for (int j = i+1; j < n; j++) { 
      Object tmp = matrix[i][j]; 
      matrix[i][j] = matrix[j][i]; 
      matrix[j][i] = tmp ; 
    }