[문제 1]
*
**
***
****
*****
디버깅표
a a<5 i i<=a
---------------------------
0 T 0 T
1 F
1 T 0 T
1 T
2 F
2 T 0 T
1 T
2 T
3 F
//문제 1
for (int a = 0; a < 5; a++) {//총횟수
//별을 한개부터 늘려가기에 초기식을 0으로 설정한다
//a만큼 별이 증가하기에 a보다 작다고 설정하고
//첫번째 루프를 돌떄 별을 찍기에 작거나 같다고 조건식을 설정한다
for (int i = 0; i <= a; i++) {
System.out.print("*");
}
System.out.println();
}
[문제 2]
*****
****
***
**
*
디버깅 표
a a<5 i i>a
----------------------
0 T 5 T
4 T
3 T
2 T
1 T
0 F
1 T 5 T
4 T
3 T
2 T
1 F
2 T 5 T
4 T
3 T
2 F
3 T 5 T
4 T
3 F
4 T 5 T
4 F
5 F
//문제 2
for (int a = 0; a < 5; a++) {// 총 횟수
//별을 줄여나가야하기에 초기식을 5로 지정한다
//a만큼 별을 줄여가야하기에 a보다 클때로 조건식을 잡고
//처음부터 별을 지우면 안되기에 크거나 같다가 아닌
//크다로 설정한다
for (int i = 5; i > a; i--) {
System.out.print("*");
}
System.out.println();
}
[문제 3]
*****
****
***
**
*
방법 1
디버깅 표
a a<5 j j<a i i>a
---------------------------------------
0 T 0 F
5 T
4 T
3 T
2 T
1 T
0 F
1 T 0 T
1 F
5 T
4 T
3 T
2 T
1 F
2 T 0 T
1 T
2 F
5 T
4 T
3 T
2 F
3 T 0 T
1 T
2 T
3 F
5 T
4 T
3 F
4 T 0 T
1 T
2 T
3 T
4 F
5 T
4 F
5 F
//문제3
for (int a = 0; a < 5; a++) {// 총 횟수
// 띄어쓰기를 하는데 처음 부터 띄어쓰기를 하지 않기 위해 <=를 사용하지 않고 <를 사용하여
// a보다 작을 떄까지 j를 증가시켜 띄어 쓰기를 넣는다
for (int j = 0; j < a; j++) {
System.out.print(" ");
}
// 별을 5개부터 줄여 나가기위해 i를 5로 지정
// 별 개수 지정을 위해 a를 최소값으르 지정하여 총횟수 5번보다 별이 넘어가지 안도록 조건을 건다
for (int i = 5; i > a; i--) {
System.out.print("*");
}
System.out.println();
}
방법 2
디버깅 표
a a<5 i i<5 ????== a>i
--------------------
0 T 0 T F
1 T F
2 T F
3 T F
4 T F
5 F
1 T 0 T T
1 T F
2 T F
3 T F
4 T F
for (int a = 0; a < 5; a++) {
for (int i = 0; i < 5; i++) {//5*5상자를 만들고
if(i<a) {//i<a 조건식을 통헤 공백(" ")과 *을 결정한다
System.out.print(" ");
}
else
System.out.print("*");
}
System.out.println();
}