Java编写程序,定义一个4行4列的二维数组,随机产生16个1-10之间的整数,存入数组中,并按4行4列的模式将该数组输出;分别将两条对角线上的元素的值累加并输出。
时间: 2024-10-24 21:03:03 浏览: 96
在Java中,你可以使用ArrayList和嵌套循环来创建一个4行4列的二维数组,并使用Random类生成1-10之间的随机整数。然后,可以使用System.out.println()函数按照指定模式打印数组,以及计算并输出两条对角线上的元素总和。以下是详细的步骤:
```java
import java.util.ArrayList;
import java.util.Random;
public class Main {
public static void main(String[] args) {
// 创建一个4行4列的二维ArrayList
ArrayList<ArrayList<Integer>> matrix = new ArrayList<>();
for (int i = 0; i < 4; i++) {
matrix.add(new ArrayList<>());
for (int j = 0; j < 4; j++) {
// 随机生成1-10的整数并添加到对应位置
int randomNum = new Random().nextInt(10) + 1;
matrix.get(i).add(randomNum);
}
}
// 打印数组
printMatrix(matrix);
// 计算并输出两条对角线的元素之和
int diagonalSum1 = sumDiagonalTopToBottom(matrix);
int diagonalSum2 = sumDiagonalLeftToRight(matrix);
System.out.println("第一条对角线元素之和: " + diagonalSum1);
System.out.println("第二条对角线元素之和: " + diagonalSum2);
}
// 打印矩阵的方法
private static void printMatrix(ArrayList<ArrayList<Integer>> matrix) {
for (ArrayList<Integer> row : matrix) {
for (int num : row) {
System.out.print(num + "\t");
}
System.out.println();
}
}
// 计算从上到下对角线元素之和的方法
private static int sumDiagonalTopToBottom(ArrayList<ArrayList<Integer>> matrix) {
int sum = 0;
for (int i = 0; i < matrix.size(); i++) {
sum += matrix.get(i).get(i);
}
return sum;
}
// 计算从左到右对角线元素之和的方法
private static int sumDiagonalLeftToRight(ArrayList<ArrayList<Integer>> matrix) {
int sum = 0;
for (int i = 0; i < matrix.size(); i++) {
sum += matrix.get(i).get(matrix.size() - i - 1);
}
return sum;
}
}
```
阅读全文