📄 mystery.java
字号:
package mystery;
import java.io.*;
/*该程序用于输出所谓的“魔幻矩阵”——即用户输入所需要矩阵的行数(前提为奇数,否则程序发送错
*误信息提醒用户输入正确数据),然后程序输出每行,每列以及对角线上的各数之和为同一个数。*/
public class Mystery {
public static void main(String[] args) throws IOException {
System.out.println("***************欢迎进入魔幻矩阵世界***************");
System.out.println("请输入一个奇数:");
String x;
int i = 0, j, n;
BufferedReader key = new BufferedReader(new InputStreamReader(System.in));
x = key.readLine();
n = Integer.parseInt(x);
if (n % 2 == 0) {
System.out.println("Error! Please enter an odd integer! Reenter");
x = key.readLine();
n = Integer.parseInt(x);
}
int[][] a = new int[n][n];
i = 0;
j = (n - 1) / 2;
a[i][j] = 1;
for (int k = 2; k <= n * n; k++) {
i--;
j--;
if (i == -1 && j == -1) {
i = 1;
j = 0;
}
if (i == -1) {
i = n + i;
}
if (j == -1) {
j = n + j;
}
if (a[i][j] != 0) {
i += 2;
j++;
}
a[i][j] = k;
}
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (a[i][j] >= 100) {
System.out.print(" " + a[i][j]);
}
else if (a[i][j] >= 10) {
System.out.print(" " + a[i][j]);
}
else {
System.out.print(" " + a[i][j]);
}
}
System.out.println();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -