이번 시간에는
*
**
***
****
*****
이런식으로 점층적으로 커지는
별 탑을 콘솔에 출력해보도록 하겠습니다.
public class RMain2 {
public static void main(String[] args) {
for (int i = 1; i < 6; i++) {
for (int j = 0; j < i; j++) {
System.out.print("*");}
System.out.println();}
}
}
제가짠 코드입니다.
i가 줄 j가 별의 갯수라고 생각하면
첫번 째 줄에는 별이 한개
두번쨰 줄에는 별이 2개
세번째 줄에는 별이 3개이기 때문에
줄의 순서만큼 별의 숫자를 출력하면됩니다.
즉 줄의 순서가 i이기 떄문에
j < i 일때까지 별을 출력시키면 되겠네요.
이때는 줄의 순서이기 떄문에 i를
1부터 시작하도록 합니다.
for (int i = 1; i < 6; i++)
잘 출력되는 모습이네요.
반대로도 출력 가능합니다.
별의 개수가 5개부터 시작하면 되겠네요.
public static void main(String[] args) {
for (int i = 0; i < 6; i++) {
for (int j = 5; j > i; j--) {
System.out.print("*");
}
System.out.println();
}
}
}
줄이 바뀌면 별의 개수가 하나
줄어들도록 하면 됩니다.
다음은
*
*
*
*
*
이런 탑을 출력하려면
어떻게 해야할까요?
public class RMain2 {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < i; j++) {
System.out.print(" ");
}
System.out.print("*");
System.out.println();
}
}
}
별의 개수는 1개로 고정이라
줄의 개수 만큼표시하면 되고
기존에 별을 출력하던 곳에 공백을
줄의 순서 만큼 넣어주면 됩니다.
마지막으로 섞어서 탑을 쌓아보면 어떨까요?
ㅋㅋㅋㅋㅋ
ㅎㅎㅎㅎ
ㅋㅋㅋ
ㅎㅎ
ㅋ
이런식으로 쌓아보겠습니다.
for (int i = 0; i < 6; i++) {
for (int j = 5; j > i; j--) {
if(i % 2== 0) {
System.out.print("ㅋ");
} else
System.out.print("ㅎ");
}
System.out.println();
}
위 예제처럼 거꾸로 쌓되,
홀수 줄에는 'ㅋ'을
짝수 줄에는 'ㅎ'을
출력하면 됩니다.
이 부분은 i로 처리하면 되겠네요.
이상 이중 반복문 실습의 꽃,
별 탑 출력하기였습니다..
'Java > 실습' 카테고리의 다른 글
[Java] 6의 배수만 더한 값 (0) | 2024.11.28 |
---|---|
[Java] Up Down 게임 (0) | 2024.11.28 |
[Java] 구구단 (0) | 2024.11.28 |
[Java] 등차수열 / Factorial / 3과 5의 배수로 더한 값 (반복문 실습) (0) | 2024.11.27 |
[Java] 랜덤한 숫자 반복 뽑기 (0) | 2024.11.27 |