JAVA 별 찍기 샘플 코드

자바를 배우는 단계에서 반복문인 for문을 배우게됩니다.

반복문을 사용해 연습 하는것 중 하나가 * 로 출력해 그림을 그리거나 문자 형태로 출력하는 것입니다.

 

for문 별찍기

단순히 for문을 사용해 출력을 하게되면 그림이나 문자형태로 출력되지 않습니다.

for문을 2개 이상 사용하는 중첩 반복문을 사용해야 합니다.

샘플을 보면서 여러가지 패턴을 그려보도록 하겠습니다.

 

배열 별찍기

별을 2차원 배열 처럼 가로와 세로로 출력 하는 샘플입니다.

public class Program{

     public static void main(String []args){
         
        // 행 줄바꿈 반복문
        for(int i=0; i<3; i++) {
             
             // 별 출력
	           for(int j=0; j<4; j++) {
		             System.out.print("*");
	           }
	        System.out.println("");
        }
     }
}

 

결과

****
****
****

 

삼각형 별찍기

삼각형 모양의 별을 출력하는 샘플입니다.

public class Program{

     public static void main(String []args){
         
        // 행 줄바꿈 반복문
        for(int i=1; i<5; i++){

	        // 별 출력
	        for(int j=0; j<i; j++){
		        System.out.print("*");
	        }
	        System.out.println("");
        }
     }
}

 

결과

*
**
***
****

 

반대로 삼각형을 출력하는 샘플입니다.

public class Program
{
    public static void main(String[] args) {
	        
        // 행 줄바꿈 반복문
        for(int i=1; i<5; i++){
        
        	// 별 출력
        	for(int j=4 ;j>0; j--){
        	
        		// 공백 출력
        		if(i<j){
        			System.out.print(" ");
        		
        		// 별 출력
        		}else{
        			System.out.print("*");
        		}
        	}
        	System.out.println("");
        }	
	}
}

 

결과

   *
  **
 ***
****

 

 

피라미드 별찍기

public class Program
{
    public static void main(String[] args) {
	        
        // 행 줄 바꿈    
        for(int i=0;i<4;i++){
            
            // 공백 출력
            for(int j=0;j<3-i;j++){
                System.out.print(" "); 
            }
            
            // 별 출력
            for(int j=0;j<2*i+1;j++){
                System.out.print("*"); 
            }
            
            System.out.println("");
        } 
	}
}

 

결과

   *
  ***
 *****
*******

 

역피라미드 별찍기 샘플 코드 입니다.

public class Program
{
    public static void main(String[] args) {
	        
        // 행 줄 바꿈    
        for(int i=4; i>0; i--){
            
            // 공백 출력
            for(int j=0; j<4-i; j++){
                System.out.print(" "); 
            }
            
            // 별 출력
            for(int j=0; j<2 * i-1; j++){
                System.out.print("*"); 
            }
            
            System.out.println("");
        } 
	}
}

 

결과

*******
 *****
  ***
   *

 

다이아 몬드 별찍기

다이아 몬드 모양의 별찍기 샘플코드 입니다.

public class Program
{
    public static void main(String[] args) {

        // 출력 행 수 지정
        int num = 7;   
        
        for (int i=0;i<num;i++){
            
            for (int j=0; j<num;j++)
            {
                // 위 부분 출력
                if (i<=num/2)
                {
                    // 왼쪽 위 공백 출력
                    if (i+j<=num/2-1) {
                        System.out.print(" ");
                    
                    // 오른쪽 위 공백 출력
                    } else if (j-i>=num/2+1) {
                        System.out.print(" ");
                    
                    // 별 찍기
                    } else{
                        System.out.print("*");
                    }
                }

                // 아래 부분 출력
                else if (i>num/2)
                {
                    // 왼쪽 아래 출력
                    if (i-j>=num/2+1) {
                        System.out.print(" ");
                    
                    // 오른쪽 아래 출력
                    } else if (i+j>=num/2*3+1) {
                        System.out.print(" ");
                    
                    // 별 찍기
                    } else {
                        System.out.print("*"); 
                    }
                }
            }

            // 줄바꿈
            System.out.println();
        }
	}
}

 

결과

   *   
  ***  
 ***** 
*******
 ***** 
  ***  
   *

 

다이아 몬드를 출력하기 위해 사용한 num 변수에는 홀수를 지정해야합니다.

 

반복문을 사용해 별을 출력하면서 모양을 그리는 샘플을 확인했습니다.

댓글