IT/JAVA

반복문 별 찍기

_KH_ 2024. 12. 31. 02:21

while문 별 찍기

-> 내부 while문 조건식 자리를 비워놓고 디버깅표를 그리며 조건식 찾기!

 

1.

	int i = 0;
		while(i<5) {
			int j = 0;
			while(j<5) {
				System.out.print("*");
				j++;
			}
			System.out.println();
			i++;
		}

출력 결과

 

디버깅표

 

i는 행을 찍고 j는 별을 찍는다.

디버깅표를 이용해서 내부 while문에 어떤 식이 들어가야할지 구했다. 

별이 한 줄에 5개씩 찍혀야 하므로 j < 5

 

2.

		int i = 0;
		while(i<5) {
			int j = 0;
			while(j<=i) {
				System.out.print("*");
				j++;
			}
			System.out.println();
			i++;
		}

출력 결과

 

디버깅표

 

3.

	int i=0;
		while(i<5) {
			int j=0;
			while(j<5-i) {
				System.out.print("*");
				j++;
			}
			System.out.println();
			i++;
		}

출력 결과
디버깅표

 

i = 0일때 j는 j<5
i = 1일때 j는 j<4
i = 2일때 j는 j<3
i = 3일때 j는 j<4
i = 4일때 j는 j<5

j < 5-i

 

4.

	int i=0;
		while(i<5) {
			int j=0;
			int a=0;
			while(a <5 - i) {
				System.out.print(" ");
				a++;
			}
			while(j < i + 1) {
				System.out.print("*");
				j++;
			}
			System.out.println();
			i++;
		}

출력 결과

 

디버깅표

 

i=0일때 j<1
i=1일때 j<2
i=2일때 j<2
i=3일때 j<4
i=4일때 j<5

j < i+1 // 별은 하나씩 늘어남
공백은 반대로 5-i // 공백은 하나씩 줄어들음

 

5.

		int i=0;
		while(i<5) {
			int j=0;
			int a=0;
			while(a < i+1) {
				System.out.print(" ");
				a++;
			}
			while(j<5-i) {
				System.out.print("*");
				j++;
			}
			System.out.println();
			i++;
		}

출력 결과

 

디버깅표 그리고 나니 이상해서 나중에 추가 예정

 

a < i+1 // 공백은 하나씩 늘어남
j < 5-i // 별은 하나씩 줄어듬