지금도 그렇지만 프로그래밍은 처음 접했을 때 대부분의 책들이 Hello World! 출력으로 시작했었다.

 

하지만 이제는 시간이 많이 흘렀고 이제 프로그래밍 언어 책을 펴봤다 라고 말 하려면

 

이제 Hello World! 출력해봤어! 보단 별만들기 정도 해봤어! 라는게 더 어울릴것 같다 ㅋㅋ

 

별을 순차척으로 늘리거나 줄이는 코드는 책을 읽으면서도 금방 코드가 떠올랐지만

 

별모양으로 별을 뽑는건 나름의 고민의 시간을 보내고 다른 코드들도 참고하며 완성할 수 있었다.

 

이 별 만들기의 포인트는 2개였던거 같다.

 

1. 중간지점까진 별이 늘어나고 이후 줄어든다

  = (i<num/2) 로 구분

 

2. 줄어드는 부분의 별 공백을 구현할때 변수 설정이 까다롭다.

  = (num/2-i)를 활용해서 i의 증감식을 역으로 활용했다.

public class make_star {

	public static void main(String[] args) {
		int num = 55;
		for(int i = 0 ; i<num ; i++) {
			if(i<num/2){
				for(int j = 0 ; j<num ;j++) 
					{ if(j<num/2-i||j>num/2+i)System.out.printf(" ");
					  else System.out.printf("*"); }
			}
			else if(i>num/2) {
				for(int j = 0 ; j<num ;j++) {
					if(j<i-num/2)System.out.printf(" ");
					else if(j>num-i-1+num/2) System.out.printf(" ");
					else System.out.printf("*");
				}
			}
			else{
				for(int j = 0 ; j<num ;j++) System.out.printf("*");
			}
			System.out.println();
		}
	}
}

 

+ Recent posts