这是我的代码,它应该可以工作,但是当我转置和打印矩阵时,它输出相同的矩阵,而不是转置。 一些解释? 它应该改变矩阵,而不是复制和转置然后返回。 public void transpose(){
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;
}
}
答案 0 :(得分: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 ;
}
答案 1 :(得分:0)
由于您使用matrix[i][j]=matrix[j][i];
这是一种在Java中转置矩阵的方法:transpose double[][] matrix with a java function