在java中输入一个5行5列的二维数组,编程实现: (1)求出其中的最大值和最小值及其对应的行列位置; (2)求出主副对角线上各元素之和。
时间: 2024-12-06 08:33:44 浏览: 167
在Java中,我们可以使用Scanner从用户那里获取输入创建一个二维数组,然后通过遍历数组找出最大值、最小值以及它们的位置,并计算主副对角线的元素和。以下是简单的示例代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[][] array = new int[5][5];
System.out.println("请输入一个5x5的二维整数数组:");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
array[i][j] = scanner.nextInt();
}
}
// 求最大值、最小值及对应位置
int max = array[0][0], min = array[0][0];
int maxRow = 0, maxCol = 0;
int minRow = 0, minCol = 0;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (array[i][j] > max) {
max = array[i][j];
maxRow = i;
maxCol = j;
} else if (array[i][j] < min) {
min = array[i][j];
minRow = i;
minCol = j;
}
}
}
System.out.printf("最大值 %d 在第 %d 行第 %d 列\n", max, maxRow + 1, maxCol + 1);
System.out.printf("最小值 %d 在第 %d 行第 %d 列\n", min, minRow + 1, minCol + 1);
// 计算主副对角线的元素和
int mainDiagonalSum = 0, secondaryDiagonalSum = 0;
for (int i = 0; i < 5; i++) {
mainDiagonalSum += array[i][i];
secondaryDiagonalSum += array[i][4 - i]; // 注意对角线索引是从0开始计数的
}
System.out.printf("主对角线元素之和为: %d\n", mainDiagonalSum);
System.out.printf("副对角线元素之和为: %d\n", secondaryDiagonalSum);
scanner.close();
}
}
```
运行此程序后,用户需要按照提示逐次输入5x5矩阵的每个元素。程序会计算并显示最大值、最小值的位置以及两条对角线的元素总和。
阅读全文
相关推荐

















