본문 바로가기
Java 강의

반복문으로 *을 출력하는 예제

by 자유코딩 2017. 9. 26.

안녕하세요 이번 글에서는 반복문을 사용해서 *을 출력하는 예제를 소개하겠습니다.

 

반복문을 처음 공부할때는 다양하게 반복문을 연습해보는게 중요합니다.

 

아래와 같이 *을 출력하는 코드입니다.

 * 

 **

 ***

 ****

 *****

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package For;
 
public class For {
    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.println("*");
        }
        
    }
}
cs

출력

 

0부터 i가 5까지 커집니다.

그래서 i가 1개씩 늘어나며 출력 될 수 있습니다.

 

그럼 이번에는 한번 다르게 *을 출력해보겠습니다.

***** 

****

***

**

*

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package For;
 
public class For {
    public static void main(String[] args) {
 
        for (int i = 5; i >0; i--) {
            for (int j = 0; j < i; j++) {
                
                System.out.print("*");
            }
            System.out.println("");
        }
    }
}
cs

출력

 

i가 5부터 1씩 줄어듭니다.

*이 하나씩 줄어들며 출력 될 수 있습니다.

 

이번에는 *을 오른쪽으로 출력해보겠습니다.

 *****

 ****

 ***

 **

 *

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package For;
 
public class For {
    public static void main(String[] args) {
        
        for(int i = 1; i<6; i++) {
            for (int j = 0;j<i; j++) {
                System.out.print(" ");
            }
            for (int k = i; k<6; k++) {
                System.out.print("*");                
            }
            System.out.println("");
        }
    }
}
cs

 

*

**

***

****

*****

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package For;
 
public class For {
    public static void main(String[] args) {
        for(int i = 1; i<=5; i++) {//5줄을 반복하기 위해서 i가 1부터 5까지 증가한다.
            
            for (int j = i; j<5; j++) {
                System.out.print(" ");
                //j에 1부터 5까지 커지는 i의 값을 저장하고 초기값으로 쓴다
                //이렇게 하면 i가 계속 증가되기 때문에 12345,2345,345,45,5 의 순서대로
                //공백을 5번,4번,3번,2번 줄여가며 출력한다.
            }
            for (int k = 0; k < i; k++) {
                System.out.print("*");
                //k는 0부터 증가한다.
                //k값의 조건식을 i보다 작게로 설정하면 
                //i가 1부터 5까지 커지기 때문에 1,12,123,1234,12345 *을 출력하는 횟수가 증가한다
            }
            System.out.println("");
        }
    }
}
cs

 

트리 출력하기

 *

 ***

 *****

 *******

 *********

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package For;
 
public class For {
    public static void main(String[] args) {
        
        for(int i = 1; i<=10; i+=2) {
            for(int j = 9; j>=i; j--) {
                System.out.print(" ");
            }
            for(int k = 1; k<=i; k++) {
                System.out.print(" *");
            }
            System.out.println("");      
        }
    
    }
}
cs

 

다른 풀이

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package For;
 
public class For {
    public static void main(String[] args) {
        for (int i = 1; i < 6; i++) {
            for (int k = 1; k <6-i; k++) {//1는 1부터 6-i까지 크기가 증가한다
                //i의 크기는 1부터 5까지 증가하므로 k는 1부터 5, 1부터 4, 1부터 3, 1부터 2,1부터 1까지 크기가 증가한다 
                System.out.print(" ");
            }
            for (int j = 1; j <= 2*i-1; j++) {//j는 1부터 2*i-1까지 크기가 증가한다
                System.out.print("*");
                //*을 출력한다. i는 1부터 5까지 증가하므로 j는 1부터 (2*1-1)까지
                //j는 1부터 (2*1-1)=1까지 -> * 1개
                //j는 1부터 (2*2-1)=3까지 -> * 3개
                //j는 1부터 (2*3-1)=5까지 -> * 5개 계속 증가한다
            }
            System.out.println();//줄을 1줄씩 다음 줄로 바꿔준다
        }
    }
}
cs


*을 반복문을 이용해서 다양하게 출력해보는 예제에 대해서 알아보았습니다.


설명이 부족하시진 않으셨나요? jswoo030@gmail.com으로 메일을 보내주시면 빠른 답변을 받으실 수 있습니다.

댓글