오늘은 Java에서 흔히 배우는 별찍기에 대해 알아보겠습니다.
아래의 4개 예제를 반복문 - 중첩 for문을 이용하여 별을 찍어보겠습니다.
화면에 아래와 같이 별을 찍어주세요.
삼각형 모양의 별찍기인데요. 다른 별찍기보다 난이도가 낮습니다.
//줄 반복
for(int i=1;i<=4;i++) {
//별 반복
for(int j=1;j<=i;j++) {
System.out.print("*");
} System.out.println("");
}
int i의 갯수만큼 줄을 반복합니다. 1번 예제는 4줄이니 1,2,3,4 총 4번 반복합니다.
int j의 갯수만큼 별을 찍습니다. 이때 println으로 쓰면 별 하나 찍고 줄바꿈되어버리니 print로 출력해줍니다.
첫번째 for문이 한 번 실행될 때마다 두번째 for문이 반복 실행되고, 줄바꿈=println("") 후
다시 첫번째 for문으로 돌아갑니다.(int i <= 4를 만족하는 동안 계속 반복)
for (int i = 0; i < num; i++) {
for (int j = 0; j < i; j++) {
System.out.print(" ");
}
for (int k = num; k > i; k--) {
System.out.print("*");
}
System.out.println();
}
//줄 반복
for(int i=4;i>=1;i--) {
//별 반복
for(int j=1;j<=i;j++) {
System.out.print("*");
} System.out.println("");
}
//줄반복
for(int i=1;i<=4;i++) {
//공백출력
for(int j=5-i;j>0;j--) {
System.out.print(" ");
}
//별출력
for(int k=1;k<=i*2-1;k++) {
System.out.print("*");
}//줄바꿈
System.out.println("");
}
num = 3;
for(int i = 0; i < num; i++) {
//공백출력
for(int j = num-i-1; j > 0; j--) {
System.out.print(" ");
} //별출력
for(int k = 0; k < i*2+1; k++) {
System.out.print("*");
}//줄바꿈
System.out.println();
}
for(int i = 0; i < num; i++) {
//공백출력
for(int j = 0; j < i+1; j++) {
System.out.print(" ");
}
//별출력
for(int k = (num-i-1)*2 -1; k > 0; k--) {
System.out.print("*");
}//줄바꿈
System.out.println();
}
'코딩중독 > JAVA' 카테고리의 다른 글
log4j 보안취약점 발견 (0) | 2021.12.13 |
---|---|
[Spring] Getter Setter를 간편하게 해주는 어노테이션, lombok(롬복) (0) | 2021.11.17 |
[Spring] Spring Legacy Project (MVC) 생성 :: myBatis (0) | 2021.11.10 |
이클립스 오류 메시지 대처방법 (0) | 2021.10.27 |
이클립스 UML 플러그인 - 파피루스 Papyrus :: 클래스 다이어그램 만들기 (0) | 2021.09.29 |