用java编写将一个3×4矩阵转置为4×3矩阵 (行列互换)的程序,并输出矩阵转置前、后的结果。
时间: 2024-05-13 11:14:02 浏览: 100
好的,我来为您编写一个 Java 程序。
```java
public class MatrixTranspose {
public static void main(String[] args) {
int[][] matrix = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
System.out.println("矩阵转置前:");
printMatrix(matrix);
int[][] transposeMatrix = transpose(matrix);
System.out.println("矩阵转置后:");
printMatrix(transposeMatrix);
}
public static int[][] transpose(int[][] matrix) {
int row = matrix.length;
int col = matrix[0].length;
int[][] transposeMatrix = new int[col][row];
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
transposeMatrix[j][i] = matrix[i][j];
}
}
return transposeMatrix;
}
public static void printMatrix(int[][] matrix) {
for (int[] row : matrix) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
}
}
```
输出结果为:
```
矩阵转置前:
1 2 3 4
5 6 7 8
9 10 11 12
矩阵转置后:
1 5 9
2 6 10
3 7 11
4 8 12
```
这个程序会先定义一个 $3\times4$ 的矩阵 matrix,然后通过调用 transpose 方法将其转置为 $4\times3$ 的矩阵 transposeMatrix,并打印出转置前后的结果。transpose 方法中,我们首先获取 matrix 的行数和列数,然后定义一个 $4\times3$ 的矩阵 transposeMatrix,遍历 matrix 中的每个元素,将其转置后赋值给 transposeMatrix 中对应的位置。最后返回 transposeMatrix。printMatrix 方法将一个二维数组打印出来,方便我们查看矩阵。
阅读全文