Howdy. 

To create a magic square of size n (n is odd): 

1. Start in the middle of the bottom row with 1. 

2. Go down and to the right to place the next number. 

3. If that spot has been taken place the number above.

Repeat 2 until you reach n*2 + 1. 

Note: wrap around the row or column when you exit the square. 

Welcome to DrJava.  Working directory is C:\Users\soicloan\Desktop
> int[] a;
> a = new int[6];
> a
{ 0, 0, 0, 0, 0, 0 }
> int[][] b = new int[3][3];
> b
{ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }
> int[][] c;
> c = new int[2][3]
{ { 0, 0, 0 }, { 0, 0, 0 } }
> int[] e;
> int[] m[];
> b
{ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }
> b[2][1] = 1;
> b
{ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 1, 0 } }

Again:

Welcome to DrJava.  Working directory is C:\Users\soicloan\Desktop
> int[][] b = new int[3][3]
> b
{ { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } }
> b[2][1] = 1
1
> b[0][2] = 2
2
> b
{ { 0, 0, 2 }, { 0, 0, 0 }, { 0, 1, 0 } }
> b[1][0] = 3
3
> b
{ { 0, 0, 2 }, { 3, 0, 0 }, { 0, 1, 0 } }
> b[0][0] = 4
4
> b
{ { 4, 0, 2 }, { 3, 0, 0 }, { 0, 1, 0 } }
> b[1][1] = 5
5
> b
{ { 4, 0, 2 }, { 3, 5, 0 }, { 0, 1, 0 } }
> b[2][2] = 6
6
> b[1][2] = 7
7
> b
{ { 4, 0, 2 }, { 3, 5, 7 }, { 0, 1, 6 } }
> b[2][0] = 8 
8
> b[0][1] = 9
9
> b
{ { 4, 9, 2 }, { 3, 5, 7 }, { 8, 1, 6 } }



Code:

public class Eduardo {
  public static void main(String[] args) {
    System.out.println( args[0] ); 
    int size = Integer.parseInt( args[0] ); 
    int[][] a = new int[size][size]; 
    System.out.println( a ); 
    for (int[] r : a)
      System.out.println( java.util.Arrays.toString( r ) );
    int number = 1, row = size - 1, col = size/2; 
    while (number <= size * size) {
       a[row][col] = number; 
       number = number + 1; 
       if (a[(row+1)%size][(col+1)%size] == 0) {
         row = (row + 1) % size; 
         col = (col + 1) % size; 
       } else {
         row = row - 1;
       }
    for (int[] r : a)
      System.out.println( java.util.Arrays.toString( r ) );
    System.out.println(" ---------------------------- "); 

    }
  }
}

It runs like this:

Welcome to DrJava.  Working directory is C:\Users\soicloan\Desktop
> java Eduardo 3
3
[[I@982cb0
[0, 0, 0]
[0, 0, 0]
[0, 0, 0]
[0, 0, 0]
[0, 0, 0]
[0, 1, 0]
 ---------------------------- 
[0, 0, 2]
[0, 0, 0]
[0, 1, 0]
 ---------------------------- 
[0, 0, 2]
[3, 0, 0]
[0, 1, 0]
 ---------------------------- 
[4, 0, 2]
[3, 0, 0]
[0, 1, 0]
 ---------------------------- 
[4, 0, 2]
[3, 5, 0]
[0, 1, 0]
 ---------------------------- 
[4, 0, 2]
[3, 5, 0]
[0, 1, 6]
 ---------------------------- 
[4, 0, 2]
[3, 5, 7]
[0, 1, 6]
 ---------------------------- 
[4, 0, 2]
[3, 5, 7]
[8, 1, 6]
 ---------------------------- 
[4, 9, 2]
[3, 5, 7]
[8, 1, 6]
 ---------------------------- 
>

Aryan 

public class Eduardo {
  public static void main(String[] aryan) {
    System.out.println( java.util.Arrays.toString( aryan ) ); 
  }
}