java产生一个nxn的整型二维数组并完成如下功能。(1)找出最大值和最小值(2)统计平均值(3)分别求出主、副对角线的元素的平均值(4)求出数组外圈元素之和 (5)把主对角线以下的元素设置为0
时间: 2023-05-24 22:06:22 浏览: 139
```
import java.util.Random;
public class ArrayOperations {
public static void main(String[] args) {
int n = 5; // 二维数组大小
int[][] array = new int[n][n];
Random random = new Random();
// 初始化二维数组
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
array[i][j] = random.nextInt(100); // 随机生成0-99的整数
}
}
// 输出二维数组
System.out.println("二维数组:");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
// 找出最大值和最小值
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (array[i][j] > max) {
max = array[i][j];
}
if (array[i][j] < min) {
min = array[i][j];
}
}
}
System.out.println("最大值:" + max);
System.out.println("最小值:" + min);
// 统计平均值
double sum = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
sum += array[i][j];
}
}
double average = sum / (n * n);
System.out.println("平均值:" + average);
// 分别求出主、副对角线的元素的平均值
double mainDiagonalSum = 0;
double viceDiagonalSum = 0;
for (int i = 0; i < n; i++) {
mainDiagonalSum += array[i][i]; // 主对角线
viceDiagonalSum += array[i][n - i - 1]; // 副对角线
}
double mainDiagonalAverage = mainDiagonalSum / n;
double viceDiagonalAverage = viceDiagonalSum / n;
System.out.println("主对角线平均值:" + mainDiagonalAverage);
System.out.println("副对角线平均值:" + viceDiagonalAverage);
// 求出数组外圈元素之和
int outsideSum = 0;
for (int i = 0; i < n; i++) {
outsideSum += array[0][i]; // 上边
outsideSum += array[n - 1][i]; // 下边
outsideSum += array[i][0]; // 左边
outsideSum += array[i][n - 1]; // 右边
}
outsideSum -= array[0][0]; // 左上角
outsideSum -= array[0][n - 1]; // 右上角
outsideSum -= array[n - 1][0]; // 左下角
outsideSum -= array[n - 1][n - 1]; // 右下角
System.out.println("外圈元素之和:" + outsideSum);
// 把主对角线以下的元素设置为0
for (int i = 0; i < n; i++) {
for (int j = 0; j < i; j++) { // 主对角线以下
array[i][j] = 0;
}
}
System.out.println("主对角线以下的元素设置为0后的二维数组:");
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println();
}
}
}
```
阅读全文