[Java How To Programming] 5.25 Diamond

Posted 2008/05/17 01:41

문제 : 홀수의 줄 수를 입력받고 그 줄에 맞는 다이아몬드를 출력하는 어플리케이션을 작성하라.

JAC 준비할겸, 옛날에 풀었던 문제를 다시풀어봤다. 다이아몬드는 좌우 그리고 상하로 대칭이된다. 그러므로 Math.abs 절대값 메소드를 사용하면 코드를 매우 절약할 수 있다.


import java.util.Scanner;

// 연습문제 5.25 Diamond

public class Diamond {
        Scanner in = new Scanner(System.in);
        int countOfBlank;      // 출력할 공백의 개수
        int countOfStar;       // 출력할 별의 개수
        int sizeOfLine;        // 출력할 라인의 수
       
        public Diamond() {
                sizeOfLine = in.nextInt();
                countOfBlank = sizeOfLine / 2;
                countOfStar = sizeOfLine - countOfBlank*2;
               
                for(int i=0 ; i<sizeOfLine ; i++) {
                        for(int j=0 ; j<Math.abs(countOfBlank) ; j++)
                                System.out.print(" ");
                        for(int j=0 ; j<countOfStar ; j++)
                                System.out.print("*");
                       
                        --countOfBlank;
                        countOfStar = sizeOfLine - Math.abs(countOfBlank*2);
                        System.out.println();
                }
        }
       
        public static void main(String[] args) {
                new Diamond();
        }
}



15
       *
      ***
     *****
    *******
   *********
  ***********
 *************
***************
 *************
  ***********
   *********
    *******
     *****
      ***
       *


 

« PREV : 1 : ... 50 : 51 : 52 : 53 : 54 : 55 : 56 : 57 : 58 : ... 248 : NEXT »