Language/Java

[Java] 별 모양 출력

arajo 2022. 7. 26. 21:48
728x90

별 모양 출력

public static void main(String[] args) {
		
		int x = 1;
		String y = "★";
		String q = " ";
		while (x < 5) {
			System.out.println(y);
			y += "★";
			x++;
		}
		System.out.println(" 확인용");
		for (int z = 1; z < 6; z++) {
			for (x = 0; x < z; x++) {
				System.out.print(q + "★");
			}
			System.out.println();
		}

	}

출력 결과

순서대로 증가

직삼각형

public static void main(String[] args) {
	int x = 0;
	int y = 0;
	int z = 6;
	for (x = 1; x < z; x++) {
		for (y = 1; y < z; y++) {
			if (x < z - y) {
				System.out.print("☆");
			} else
				System.out.print("★");
		}
		System.out.println();
	}
	System.out.println("=================");
	for (x = z; x > 1; x--) {
		for (y = 1; x - y > 0; y++) {
			System.out.print("★");
		}
		for (;z-y>0; y++) {
			System.out.print("☆");
		}
		System.out.println();
		}
}

출력 결과

for문 변수에 따라 별들의 위치를 바꿀 수 있다.

정삼각형

public static void main(String[] args) {
	int a = 0;
	int b = 0;
	int c = 7;
	for (a = c; a >0; a--) {					//행 개수
		for (b = 1; b < c*2; b++) {				//열 개수
			if (b>= a  && a <= c*2-b ) {
				System.out.print("★");
			} else {
				System.out.print("☆");
			}
		}
		System.out.println();
	}

}

출력 결과

정삼각형의 경우 제일 첫 행이 출력될 때 색을 채운 별이 가운데, 그 뒤로는 2개씩 늘어나야 한다.

public static void main(String[] args) {
	int linenum = 7;
	for (int i = 0; i < linenum; i++) {
		for (int j = 0; j < linenum - 1 - i; j++) {
			System.out.print("☆");
		}
		for (int z = 0; z < 1 + i * 2; z++) {
			System.out.print("★");
		}
		System.out.println();
	}

}

출력 결과

이런 방식으로도 정삼각형을 만들 수 있다.

별 모양으로 X자 그리기

public static void main(String[] args) {
	// 별을 X자 모양으로 그리기
	int a = 0;
	int b = 0;
	int c = 5;
	int d = 0;
	for (a = c; a > 0; a--) {
		d++;
		for (b = 1; b <= c; b++) {
			if (b == a || d == b) {
				System.out.print("★");
			} else {
				System.out.print("☆");
			}
		}
		System.out.println();
	}
	System.out.println("=====================");
	for(a=0;a<=4;a++) {
		for(b=0;b<=4;b++) {
			if(b==a || a+b==4)
			System.out.print("★");
			else
				System.out.print("☆");
		}
		System.out.println();
	}

 출력 결과