Matrix中的矩阵转置(需要说明)

时间:2016-05-11 16:42:37

标签: java matrix transpose

这是我的代码,它应该可以工作,但是当我转置和打印矩阵时,它输出相同的矩阵,而不是转置。 一些解释? 它应该改变矩阵,而不是复制和转置然后返回。 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;
        }
}

2 个答案:

答案 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