The Debugging Chronicles : "코드의 미학"
자바 디버깅 표 찍기 - 별 그리기2 본문
문제
*****
****
***
**
*
디버깅표
행의 높이를 i, 별의 개수를 j , 공백이 개수를 k라고 하자.
일단 가장 밖에 for 루프로 for(i = 1 ; i <= 5 ; i++)를 먼저 쓰고 시작할 수 있다.
for(i=1; i <=5; i ++){
// 뒤로 갈 수록 공백이 앞쪽에 생기므로 공백 공식을 먼저 쓴다
for(int k; ????; k++){
System.out.println(" ");
}
for(int j; ????; j++){
System.out.println("*");
}
}
i i <=5 k ??? j ???
-------------------------------------------
1 T 1 F 1 T
2 T
3 T
4 T
5 T
6 F
2 T 1 T
2 F 1 T
2 T
3 T
4 T
5 F
3 T 1 T
2 T
3 F 1 T
2 T
3 T
4 F
4 T 1 T
2 T
3 T
4 F 1 T
2 T
3 F
5 T 1 T
2 T
3 T
4 T
5 F 1 T
2 F
------------------------------------------------
디버깅표로 조건 유추하기
- 별의 개수를 j 조건 유추
1. j는 6보다 작으면서
- 공백이 개수를 k 조건 유추
정답
int n = 5; // 높이
for (int i = 0; i < n; i++) { // 행을 제어
for (int j = 0; j < i; j++) { // 각 행의 공백을 제어
System.out.print(" ");
}
for (int k = n; k > i; k--) { // 각 행의 별을 제어
System.out.print("*");
}
System.out.println(); // 줄 바꿈
}
'JAVA > 자바 수업 내용' 카테고리의 다른 글
학생부 출력 프로그램 - 함수와 메서드를 사용하여 바꾸기 (2) | 2024.07.03 |
---|---|
예제로 알아보는 클래스03 (0) | 2024.07.03 |
예제로 알아보는 클래스02 (0) | 2024.07.02 |
예제로 알아보는 클래스01 (0) | 2024.07.02 |
함수 제작하기 (0) | 2024.07.01 |