import java.io.InputStreamReader;
public class Test {
public static int getInput() {
int input = 0;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
String str = br.readLine();
input = Integer.parseInt(str);
} catch (Exception e) {
System.out.println("輸入有誤,重新輸入:");
getInput();
}
return input;
}
public static int[][] createSquare(int n) {
int i, j;
int square[][] = new int[n][n];
System.out.println("輸入正方形數字矩陣:");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
System.out.println("[" + (i + 1) + "]" + "[" + (j + 1) + "] :");
square[i][j] = getInput();
}
}
return square;
}
public static void main(String[] args) {
System.out.println("輸入正方形的邊長(整數):");
int i = getInput();
if (i != 0) {
System.out.println("i = " + i);
int square[][] = new int[i][i];
square = createSquare(i);
display(square);
getSum(square);
}
}
private static void getSum(int[][] square) {
int n = square.length;
int sum_1 = 0,sum_2 = 0;
int i, j;
System.out.print("\n正對角線之和為: ");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (i==j) {
sum_1 = sum_1 + square[i][j];
System.out.print(square[i][j]);
if (i<n-1){
System.out.print("+");
}
}
}
}
System.out.println("="+sum_1);
System.out.print("\n另壹條對角線之和為: ");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (i+j==(n-1)) {
sum_2 = sum_2 + square[i][j];
System.out.print(square[i][j]);
if (i<n-1){
System.out.print("+");
}
}
}
}
System.out.println("="+sum_2);
}
private static void display(int[][] square) {
// TODO Auto-generated method stub
int i, j;
int n = square.length;
System.out.println("該正方形數字矩陣為:");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
System.out.print(square[i][j] + "\t");
}
System.out.println();
}
}
}