Java——九宮格を印刷する(奇数行方陣)
package com.zth;
import java.util.Scanner;
/**
*
*8 1 6
*3 5 7
*4 9 2
*
* : 1 , “ 、 ”
* @author ·
*
*/
public class JiuGongGe {
public static void main(String[] args) {
// n , n*n
int length;
System.out.print(" ( ):");
Scanner scanner = new Scanner(System.in);
length = scanner.nextInt();
scanner.close();
//
int[][] arr= new int[length][length];
//
int i = 0;
int j = length/2 ;
arr[i][j] = 1;
// 2~n*n
for(int n = 2;n<=length*length;n++) {
//
i = (i-1+length)%length;
//
j = (j+1+length)%length;
//
if(arr[i][j] ==0) {
arr[i][j] = n; //
}else { //
//
i = (i+1+length)%length;
//
i = (i+1+length)%length;
//
j = (j-1+length)%length;
arr[i][j] = n;
}
}
//
for (int x = 0; x < length; x++) {
for (int y = 0; y < length; y++) {
System.out.print(arr[x][y]+"\t");
}
System.out.println();
}
}
}
実行結果:
( ):3
8 1 6
3 5 7
4 9 2
( ):5
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9