用JAVA编程:输入一个5行5列的二维数组,编程实现:(1)求出其中的最大值和最小值及其对应的行列位置.(2)求出主,副对角线上各元素之和.
时间: 2024-11-15 11:24:14 浏览: 47
在Java编程中,你可以使用Scanner类获取用户输入的二维数组,并通过遍历和比较实现这两个功能。以下是简单的示例代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[][] array = new int[5][5]; // 创建一个5x5的二维数组
System.out.println("请输入5x5矩阵的元素:");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
array[i][j] = input.nextInt();
}
}
// 求最大值、最小值及其位置
int maxVal = array[0][0], minVal = 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] > maxVal) {
maxVal = array[i][j];
maxRow = i;
maxCol = j;
}
if (array[i][j] < minVal) {
minVal = array[i][j];
minRow = i;
minCol = j;
}
}
}
System.out.printf("最大值 %d 对应于行 %d 列 %d\n", maxVal, maxRow, maxCol);
System.out.printf("最小值 %d 对应于行 %d 列 %d\n", minVal, minRow, minCol);
// 求主、副对角线元素之和
int mainDiagonalSum = 0, secondaryDiagonalSum = 0;
for (int i = 0; i < 5; i++) {
mainDiagonalSum += array[i][i];
secondaryDiagonalSum += array[i][4-i];
}
System.out.printf("主对角线元素之和为: %d\n", mainDiagonalSum);
System.out.printf("副对角线元素之和为: %d\n", secondaryDiagonalSum);
input.close(); // 关闭扫描器
}
}
```
阅读全文