package shape;

public class MagicSquare {

 public static void main(String args[]){
  int a[][] = new int[5][5];
  int i = 0;
  int j = 2;
  int k = 1;
  while (k <= 25) {
   a[i][j] = k;
   if (k%5 == 0) {
    i = i + 1;
   }else{
    i = i - 1;
    j = j + 1;
    if (i < 0) {
     i = 4;
    }
    if(j > 4){
     j = 0;
    }
   }
   k++;
  }
  for (int k2 = 0; k2 < a.length; k2++) {
   for (int l = 0; l < a.length; l++) {
    System.out.print(a[k2][l]+" ");
   }
   System.out.println();
  }
 }
}




AND


2차원 배열모래시계입니다. 별거 아니에요 ㅎ

package shape;

public class SandWatch {

 public static void main(String[] args) {
  int a[][] = new int[5][5];
  int k = 0;
  int row = 0;
  int center = 5/2 + 1;
  int begin = 0;
  int end = 0;
  for (row = 0; row < 5; row++) {
   if (row < center) {
    System.out.println("up");
    begin = row;
    end = 5 - row;
   }else{
    System.out.println("down");
    begin = 4 - row;
    end = row + 1;
   }
   for (int j = begin; j < end; j++) {
    k = k + 1;
    a[row][j] = k;
   }
  }
  for (int i = 0; i < 5; i++) {
   for (int j = 0; j < 5; j++) {
    System.out.print(a[i][j]+" ");
   }
   System.out.println();
  }

 }

}




AND


package shape;

public class Diamond {
 public static void main(String[] args) {
  int a[][] = new int[5][5];
  int k = 0;
  int row = 0;
  int center = 5/2 + 1;
  int begin = 0;
  int end = 0;
  for (row = 0; row < 5; row++) {
   if (row < center) {
    System.out.println("up");
    begin = 2 - row;
    end = row + 3;
   }else{
    System.out.println("down");
    begin = row - 2;
    end = 7 - row;
   }
   for (int j = begin; j < end; j++) {
    k = k + 1;
    a[row][j] = k;
   }
  }
  for (int i = 0; i < 5; i++) {
   for (int j = 0; j < 5; j++) {
    System.out.print(a[i][j]+" ");
   }
   System.out.println();
  }
 }
}




AND