编写Java程序,定义一个4行4列的二维数组,随机产生16个1-10之间的整数,存入数组中,并按4行4列的模式将该数组输出;分别将两条对角线上的元素的值累加并输出。
时间: 2024-10-24 14:03:01 浏览: 19
在Java中,我们可以使用`Random`类生成随机数,并创建一个二维数组来存储这些数字。以下是一个示例代码:
```java
import java.util.Random;
public class Main {
public static void main(String[] args) {
int[][] array = new int[4][4]; // 定义一个4行4列的二维数组
Random random = new Random();
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
// 随机产生1-10之间的整数
array[i][j] = random.nextInt(10) + 1;
}
}
// 输出数组
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.print(array[i][j] + " ");
}
System.out.println(); // 每一行结束后换行
}
// 累加对角线上的元素
int sumDiagonal1 = getDiagonalSum(array, true); // 主对角线
int sumDiagonal2 = getDiagonalSum(array, false); // 次对角线
System.out.println("\n主对角线元素之和: " + sumDiagonal1);
System.out.println("次对角线元素之和: " + sumDiagonal2);
// 获取对角线和的辅助方法
private static int getDiagonalSum(int[][] matrix, boolean isMainDiagonal) {
int sum = 0;
for (int i = 0; i < matrix.length; i++) {
if (isMainDiagonal) {
sum += matrix[i][i];
} else {
sum += matrix[i][matrix.length - 1 - i];
}
}
return sum;
}
}
}
```
这个程序首先生成一个4x4的二维数组,并填充随机数。然后它打印出整个数组,接着计算并输出主对角线和次对角线上的元素之和。
阅读全文