>>9
蛇足だけど、違うやり方をひとつ。入力のところは省略

int n = 999; // ←入力してもらった数字が入る

boolean[][] canvas = new boolean[n][n];
int k = n % 2;

if(n == 1){
    System.out.println("●");
    return;
}

for(int i=0;i<n/2;i++){
    int x = i, y = n/2-i-1;
    canvas[y][x+k] = true;
    canvas[y+k][n-1-x] = true;
    canvas[n-1-y-k][x] = true;
    canvas[n-1-y][n-1-x-k] = true;
}

for(int i=0;i<n;i++){
    for(int j=0;j<n;j++){
        System.out.print(canvas[i][j] ? "●" : "□");
    }
    System.out.println();
}

四角形を四つ切りにして、そのうちの一枚に対角線を引いて、それをコピーするような感じ