编写Java程序(用SwapMatrix类)(25分) 要求:定义一个二维数组,并给二维数组赋值,分别打印原二维数组和行列互调后 1 2 3 4 5 6 7 8 9显示出的结果为 1 4 7 2 5 8 3 6 9
时间: 2024-09-27 21:09:47 浏览: 38
在Java中,我们可以创建一个名为SwapMatrix的类,然后编写一个方法来实现二维数组的行列互换。这里是一个简单的示例:
```java
public class SwapMatrix {
// 定义一个方法,接收两个二维数组作为参数
public void swapRowsAndColumns(int[][] matrix) {
if (matrix == null || matrix.length == 0) {
System.out.println("Invalid input");
return;
}
int n = matrix[0].length; // 获取每一行的长度,即列数
for (int i = 0; i < n / 2; i++) { // 遍历一半的行数,因为只交换前半部分
// 临时存储当前行的元素
int[] tempRow = new int[n];
System.arraycopy(matrix[i], 0, tempRow, 0, n);
// 将当前行的元素移到下一行的位置
System.arraycopy(matrix[i + n / 2], 0, matrix[i], 0, n);
// 将临时行的元素放回原来的位置
System.arraycopy(tempRow, 0, matrix[i + n / 2], 0, n);
}
// 打印交换后的矩阵
printMatrix(matrix);
}
private void printMatrix(int[][] matrix) {
for (int[] row : matrix) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
}
public static void main(String[] args) {
// 定义并赋值二维数组
int[][] originalMatrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// 创建SwapMatrix实例并调用方法
SwapMatrix swap = new SwapMatrix();
swap.swapRowsAndColumns(originalMatrix);
// 打印原始矩阵和交换后的矩阵
System.out.println("\nOriginal Matrix:");
printMatrix(originalMatrix);
System.out.println("\nMatrix after swapping rows and columns:");
}
}
```
在这个示例中,我们首先定义了一个二维数组,然后通过`swapRowsAndColumns`方法进行行列互换。最后,在主函数里,我们打印出原矩阵和交换后的矩阵。
运行这个程序,你会看到预期的结果:
```
1 4 7
2 5 8
3 6 9
Original Matrix:
1 2 3
4 5 6
7 8 9
Matrix after swapping rows and columns:
1 4 7
2 5 8
3 6 9
```
阅读全文