已知一个N*N的矩阵,N和矩阵中的值均从键盘输入,编程实现矩阵的转置并输出转换前后的矩阵。(用二维数组保存矩阵) 请使用java实现
时间: 2024-09-25 16:21:03 浏览: 37
在Java中,你可以使用二维数组来表示矩阵,并通过两个步骤来实现矩阵的转置:首先创建原矩阵,然后创建一个新的矩阵用于存储转置后的结果。这里是一个简单的示例:
```java
import java.util.Scanner;
public class MatrixTranspose {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入矩阵的行数 N:");
int n = scanner.nextInt();
int[][] matrix = new int[n][n]; // 创建一个n * n的二维数组
System.out.println("请输入矩阵的元素(按行输入):");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
matrix[i][j] = scanner.nextInt(); // 输入每个元素
}
}
// 打印原始矩阵
System.out.println("原始矩阵:");
printMatrix(matrix);
// 转置矩阵
int[][] transposedMatrix = transpose(matrix);
// 打印转置后的矩阵
System.out.println("转置后的矩阵:");
printMatrix(transposedMatrix);
scanner.close();
}
// 矩阵打印函数
private static void printMatrix(int[][] matrix) {
for (int[] row : matrix) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
}
// 矩阵转置函数
private static int[][] transpose(int[][] matrix) {
int n = matrix.length;
int[][] transposed = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
transposed[j][i] = matrix[i][j]; // 交换行和列的值
}
}
return transposed;
}
}
```
这个程序会提示用户输入矩阵的行数以及每个元素,然后分别展示原矩阵和转置后的矩阵。
阅读全文