카테고리1

Chrome (1) GAME (2) HTML (3) Internet Explore (1) Movie (1) TIP (2) Windows (2) java (51) 건강 (1) 맛집 (1)

Post List

2017년 2월 26일 일요일

java]역삼각형태로 출력하기(for 문을 사용)




위와 같은 형태의 모양으로 출력을 해보자.


for 문을 사용하여 위의 모양을 만드는 것이 이번에 할 내용.

1 for(int i=6; i>=2; i--){
2 for(int s=1; s<i; s++){
3 System.out.print("*");
4 }
5 System.out.println();
6 for(int k=6; k>i-1 && i>2; k--){
7 System.out.print(" ");
8 }
9 }


생각에 따라서는 어렵게 느껴질 수도 있는 문제이다.
해당 모습을 만드는 것에는 위의 방법과는 다르게 여러가지가 있을 수 있다.

해설...

1번째 줄

첫번째 for문 6에서 2까지 1씩 감소시키며 총 5회 반복한다.
: 5개의 줄을 만들 것이므로 총 5회 반복하도록 한다.

2번째 줄

내부 1번째 for문 1부터 i보다 작을 때까지 1씩 증가하며 *을 출력한다.
처음 시작시 i가 6이므로 1부터 5까지 총 5회 반복하며 *을 5개 출력한다.

5번째 줄

내부 1번째 for문이 종료되고 줄바꿈을 한다.

6번째 줄

내부 2번째 for문 초기값을 6으로 주고 6을 1씩 감소시키며 i-1만큼 반복한다.
그리고 i가 2보다 클때만 반복한다.


1회전
1. for문 s=1 < i=6, s++  => *이 5개 출력된다.
2. 줄바꿈을 한다.
3. for문 k=6 > i=6-1 & 6>2 k++ =>6부터 i까지 반복 6-1 은 5이므로 " "1회 반복 출력

2회전
1. for문 s=1 < i=5, s++ => *이 4회 출력
2. 줄바꿈
3. for문 k=6 > i=5-1 & 5>2 k++ =>6부터 i까지 반복 5-1은 4이므로 " "2회 반복 출력

3회전
1. for문 s=1 < i=4, s++ => *이 3회 출력
2. 줄바꿈
3. for문 k=6 > i=4-1 & 4>2 k++ =>6부터 i까지 반복 4-1은 3이므로 " "3회 반복 출력

......

5회전
1. for문 s=1 < i=2, s++ => *이 1회 출력
2. 줄바꿈
3. for문 k=6 > i=2-1 & 2>2 k++ => 1번 조건은 충족하나 2번 조건이 불충족이므로 반복하지 않고 끝낸다.

더 쉬운 방법도 있으리라 생각됩니다.^^

댓글 없음:

댓글 쓰기