Programming/Java

자바 별 찍기 (for 문 이용)

감귤밭호지차 2022. 10. 6. 16:32

자바 별 찍기

 

오늘 스스로 " 자바 for문 "을 이용해서 여러 가지 별 찍기 예제를 완성 해보았다. 

 

1. 간단한 기본 나열 별 찍기 

 

코드 예시
public class Star {
	public static void main(String[] args) {
		for (int i = 0; i<4; i++) {
			for(int j=0; j<5; j++) {
				System.out.print("*");
			}
			System.out.println("");
		}
		
	}
}

 

2. 왼쪽 삼각형 별 찍기

 

코드 예시
public class Star {
	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("");
		}
	}
}

 

3. 오른쪽 삼각형 별 찍기 

 

코드 예시
public class Star {
	public static void main(String[] args) {
		for(int i=1; i<5; i++) {
			for(int j=5; j>0; j--) {
				if(i<j) {
					System.out.print(" ");
				}else {
					System.out.print("*");
				}
			}
			System.out.println("");
		}
	}
}

 

4. 역 삼각형 별 찍기

우연찮게 나온 역삼각형 별찍기..

 

코드 예시
public class Star {
	public static void main(String[] args) {
		for(int i=1; i<5; i++) {
			for(int j=5; j>0; j--) {
				if(i<j) {
					System.out.print("*");
				}else {
					System.out.print("");
				}
			}
			System.out.println("");
		}
	}
}

 

코드 예시 2 ( 더 간단하게도 만들어질 수 있었다. )
public class Star {
	public static void main(String[] args) {
		for(int i=1; i<5; i++) {
			for(int j=5; j>i; j--) {
				System.out.print("*");
		}
			System.out.println("");
		}
	}
}

 

※아직도 헷갈리는 오른쪽 역삼각형 (★★)

이해하기 쉽게 공백을 -로 채웠다.

 

코드 예시
public class Star {
	public static void main(String[] args) {
		for(int i=1; i<5; i++) {
			for(int j=1; j<=i; j++) {
				System.out.print("-");
			}
			for (int k=0; k<5-i; k++) {
				System.out.print("*");
			}
			System.out.println("");
		}
	}
}

추가 설명 : 오른쪽 역삼각형이어서 공백 부분의 for문 코드도 생성해줘야 했기 때문에 총 (i, j, k) 세가지 변수 사용해서

코드 작성함. 

 

5. 피라미드 별 찍기 (★★)

 

코드 예시
public class Star {
	public static void main(String[] args) {
		for(int i=0; i<5; i++) {
			for(int j=1; j<=5-i; j++) { //공백
				System.out.print("-");
			}
			for (int k=0; k<i*2+1; k++) {
				System.out.print("*");
			}
			System.out.println("");
		}
	}
}

 

6.  다이아몬드 별 찍기 

 

코드 예시
public class DiamondTest {

	public static void main(String[] args) {
		
		System.out.println("# 다이아몬드 찍기");
		System.out.println();
		
		for( int i = 0; i < 5; i++) {
			for (int j = 1; j<5-i ; j++) {
				System.out.print(" ");
			}
			for (int k = 0; k < i*2+1 ; k++) {
				System.out.print("*");
			}
			System.out.println("");
		}
		
		for (int a = 1; a<5; a++) {
			for (int b = 5; b > 5-a;  b--) {
				System.out.print(" ");
			}
			for (int c = 10; c > a*2+1; c--) {
				System.out.print("*");
			}
			System.out.println("");
		}

	}

}

그 외 다양한 방식으로 찍는 법 : https://miyakita.tistory.com/169