본문 바로가기
개발공부/Java

[java] 별찍기 ★

by dokii 2021. 2. 20.
728x90
반응형

1. 간단한 2차원 배열 별찍기

public class test01 {

	
	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("");
		}
		
		
		
	}//main
}//class

2. 삼각형 모양의 별찍기

public class test01 {

	
	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("");
		}
		
		
		
	}//main
}//class

3. 피라미드 모양의 별찍기

	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("");
		}
		
		
		
	}//main
}//class

 

4. 홀수를 입력하면 그에 맞는 다이아몬드(마름모) 모양의 별찍기

 

import java.util.Scanner;

public class test01 {

	
	public static void main(String[] args) {
		
		System.out.println("3이상의 홀수를 입력해주세요");
		Scanner scan = new Scanner(System.in);
		
		int num = scan.nextInt(); //입력한수를 이용한다.
		int a = (num+1)/2;
		int b = num-a;
		
		for(int i=0; i<a; i++) {//윗부분
			
				
			for(int j=0; j<(num-1)/2-i; j++) { //공백출력
						
				System.out.print(" ");
			}
				
				
			for(int j=0; j<2*i+1; j++) {
					
				System.out.print("*");	
			}
				
			System.out.println("");
		}
		
		for(int i=0; i<b; i++) {//아랫부분
			
	
			for(int j=0; j<i+1; j++) {
					
				System.out.print(" ");	
			}
				
			for(int j=0; j<num-2-2*i; j++) {
					
				System.out.print("*");
			}
				
			System.out.println("");
		}
		
	}//main
}//class

별이 늘어나는 부분을 윗부분, 다시 별이 줄어드는부분을 아랫부분으로 생각하여 작업하였다.

 

728x90
반응형

댓글