跳到主要内容

Java程序查找矩阵的转置

要理解这个示例,你应该具备以下 Java 编程主题的知识:

矩阵的转置是将行和列交换的过程。对于 2x3 矩阵,

矩阵
a11 a12 a13
a21 a22 a23

转置矩阵
a11 a21
a12 a22
a13 a23

示例:程序求矩阵的转置

public class Transpose {

public static void main(String[] args) {
int row = 2, column = 3;
int[][] matrix = { {2, 3, 4}, {5, 6, 4} };

// 显示当前矩阵
display(matrix);

// 转置矩阵
int[][] transpose = new int[column][row];
for(int i = 0; i < row; i++) {
for (int j = 0; j < column; j++) {
transpose[j][i] = matrix[i][j];
}
}

// 显示转置后的矩阵
display(transpose);
}

public static void display(int[][] matrix) {
System.out.println("矩阵为:");
for(int[] row : matrix) {
for (int column : row) {
System.out.print(column + " ");
}
System.out.println();
}
}
}

输出

矩阵为:
2 3 4
5 6 4
矩阵为:
2 5
3 6
4 4

在上述程序中,display() 函数仅用于将矩阵的内容打印到屏幕上。

这里,给定的矩阵是 2x3 形式,即 row = 2column = 3

对于转置后的矩阵,我们改变了转置的顺序为 3x2,即 row = 3column = 2。所以我们有 transpose = int[column][row]

通过简单地将列和行互换,就可以计算出矩阵的转置:

transpose[j][i] = matrix[i][j];