지금도 그렇지만 프로그래밍은 처음 접했을 때 대부분의 책들이 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();
}
}
}
'개발자로 업그레이드 되자 > JAVA' 카테고리의 다른 글
JAVA의 IO (0) | 2021.10.24 |
---|---|
JAVA 컬렉션(Collection) (0) | 2021.10.05 |
Java의 기본 개념들을 정리 (0) | 2021.09.12 |
JAVA 문자열로 된 수식을 입력 받아 계산하는 계산기 (1) | 2021.08.15 |