JAVA语言编程实现一个3×3的九宫格,将1至9的数字填入方格,使矩阵中心的元素为5,且每行每列及每个对角线的值相加都相同。
时间: 2024-10-07 16:03:25 浏览: 59
在 Java 中,我们可以创建一个二维数组来表示 3x3 的九宫格,并通过循环遍历数组,满足题目所给的条件。这里是一个简单的示例:
```java
public class MagicSquare {
public static void main(String[] args) {
int[][] magicSquare = new int[3][3];
int sum = (1 + 9) * 3 / 2; // 计算中心元素5周围的总和
// 设置中心元素为5
magicSquare[1][1] = 5;
// 初始化剩余元素,保证每行、每列、对角线的和等于总和
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == 1 && j == 1) continue; // 跳过中心元素
int remainingSum = sum - magicSquare[1][1]; // 剩余需要分配的和
if (i == j || Math.abs(i - j) == 1) { // 对角线元素
remainingSum /= 2;
}
magicSquare[i][j] = remainingSum - ((i + j) % 2 == 0 ? 1 : 4); // 根据位置调整数值
}
}
// 打印结果
for (int[] row : magicSquare) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println();
}
}
}
```
这个程序会生成一个满足条件的 3x3 魔术方格。每行、每列以及两个对角线的元素之和均为 15。
阅读全文