java创建一个4x4的二维数组,从键盘输入数据初始化改数组,打印出该二维数组(每行四个元素),再输出对角线元素和,代码
时间: 2024-09-24 13:18:49 浏览: 31
基于C++编写一个函数求一个4*4二维数组所有周边元素的和
在Java中,你可以按照以下步骤创建一个4x4的二维数组,并从键盘获取用户输入来初始化它。然后,我们将打印整个数组以及两个对角线元素的和。
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int[][] array = new int[4][4]; // 创建一个4x4的二维数组
Scanner scanner = new Scanner(System.in);
// 从键盘获取用户输入并初始化数组
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
System.out.print("请输入第 " + (i+1) + ", " + (j+1) + " 位置的数字: ");
array[i][j] = scanner.nextInt();
}
System.out.println(); // 每输入一行换行
}
scanner.close();
// 打印整个数组
printArray(array);
// 计算并打印对角线元素和
int diagonalSum1 = getDiagonalSum(array, true); // 主对角线
int diagonalSum2 = getDiagonalSum(array, false); // 反对角线
System.out.println("\n主对角线元素和: " + diagonalSum1);
System.out.println("反对角线元素和: " + diagonalSum2);
}
// 打印二维数组
private static void printArray(int[][] arr) {
for (int i = 0; i < 4; i++) {
for (int j = 0; j <= i; j++) { // 打印前4列
System.out.print(arr[i][j] + " ");
}
System.out.println(); // 每行结束换行
}
}
// 计算给定对角线的元素和
private static int getDiagonalSum(int[][] array, boolean isMainDiagonal) {
int sum = 0;
if (isMainDiagonal) {
for (int i = 0; i < 4; i++) {
sum += array[i][i];
}
} else {
for (int i = 0; i < 4; i++) {
sum += array[i][3 - i];
}
}
return sum;
}
}
```
当你运行这个程序时,会提示你输入每个单元格的值,然后会显示数组内容以及两条对角线的和。
阅读全文