package circylearray;
public class CircyleArray {
public static void useArray(String[] args) {
int n = 17;
if (args.length == 1) {
try {
n = Integer.valueOf(args[0]);
} catch (Throwable ex) {
// ignore exceptions
}
}
int circyle = (n + 1) / 2;
int[][] array = new int[n][n];
int value = 1;
int indexN = n - 1;
for (int c = 0; c < circyle; c++) {
int x = c;
int y = c;
for (; x <= indexN - c; x++) {
array[y][x] = value++;
}
x = indexN - c;
y = c + 1;
for (; y <= indexN - c; y++) {
array[y][x] = value++;
}
x = indexN - c - 1;
y = indexN - c;
for (; x >= c; x--) {
array[y][x] = value++;
}
x = c;
y = indexN - c - 1;
for (; y >= c + 1; y--) {
array[y][x] = value++;
}
}
for (int y = 0; y < n; y++) {
for (int x = 0; x < n; x++) {
System.out.print(array[y][x] + "\t");
}
System.out.println();
}
}
public static void main(String[] args) {
useArray(args);
}
public static void countIt(String[] args) {}
}