用java写 描述 编写一个函数,输入参数是5*5的二维数组,和n,m两个行下标。功能:判断n,m是否在数组范围内,如果不在,则返回0;如果在范围内,则将n行和m行交换,并返回1。 在main函数中, 生成一个5*5的矩阵,输入矩阵数据,并输入n,m的值。调用前面的函数。如果返回值为0,输出error。如果返回值为1,输出交换n,m后的新矩阵。 输入 5*5矩阵的数据,以及n和m的值。 输出 如果不可交换,则输出error; 如果可交换,则输出新矩阵 样例输入 1 2 2 1 2 5 6 7 8 3 9 3 0 5 3 7 2 1 4 6 3 0 8 2 4 0 4 样例输出 3 0 8 2 4 5 6 7 8 3 9 3 0 5 3 7 2 1 4 6 1 2 2 1 2
时间: 2023-12-31 22:06:50 浏览: 54
好的,这是一个简单的 Java 代码实现,可以帮助您解决这个问题:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[][] matrix = new int[5][5];
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
matrix[i][j] = scanner.nextInt();
}
}
int n = scanner.nextInt();
int m = scanner.nextInt();
int result = swapRows(matrix, n, m);
if (result == 0) {
System.out.println("error");
} else {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
private static int swapRows(int[][] matrix, int n, int m) {
if (n < 0 || n >= 5 || m < 0 || m >= 5) {
return 0;
}
int[] temp = matrix[n];
matrix[n] = matrix[m];
matrix[m] = temp;
return 1;
}
}
```
首先,我们定义了一个名为 swapRows 的函数,它接受一个二维数组 matrix,以及两个整数 n 和 m。在函数内部,我们首先检查 n 和 m 是否在数组范围内,如果不在,则返回 0。否则,我们使用一个临时数组来交换矩阵的第 n 行和第 m 行,然后返回 1。
接下来,我们在 main 函数中生成一个 5x5 的矩阵,并从用户输入中读取矩阵数据。然后,我们从用户输入中读取 n 和 m 的值,并调用 swapRows 函数。如果函数返回 0,则输出 "error"。否则,我们输出交换后的新矩阵。
希望能够帮助您解决这个问题!
阅读全文