별찍기

|

 

1. 별의 갯수와 줄의 갯수 상관관계 파악
2. i는 줄의 수
3. lineNum, print 를 활용
4. 공백을 담당하는 j for문 따로!
5. 축구에서 후반 70분 = 후반 35분 개념!

import java.util.Scanner;

public class star {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		System.out.print("출력할 줄 수를 입력하세요: ");
		int lineNum = scan.nextInt();
		System.out.println("==별찍기 1번==");
		for (int i = 1; i <= lineNum; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}

		System.out.println("==별찍기 2번==");
		for (int i = 1; i <= lineNum; i++) {
			for (int j = i; j <= lineNum; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		System.out.println("==별찍기 3번==");
		for (int i = 1; i <= lineNum; i++) {
			for (int j = lineNum - 1; j >= i; j--) {
				System.out.print(" ");
			}
			for (int j = 1; j <= i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		System.out.println("==별찍기 4번==");
		for (int i = 1; i <= lineNum; i++) {
			for (int j = 1; j <= i - 1; j++) {
				System.out.print(" ");
			}
			for (int j = i; j <= lineNum; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		System.out.println("==별찍기 5번==");
		for (int i = 1; i <= lineNum; i++) {
			for (int j = i; j <= lineNum - 1; j++) {
				System.out.print(" ");
			}
			for (int j = 1; j <= 2 * i - 1; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		System.out.println("==별찍기 6번==");
		for (int i = lineNum; i >= 1; i--) {
			for (int j = i; j <= lineNum - 1; j++) {
				System.out.print(" ");
			}
			for (int j = 1; j <= 2 * i - 1; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		System.out.println("==별찍기 7번==");
		for (int i = 1; i <= 2 * lineNum - 1; i++) {
			if (i <= lineNum) {
				for (int j = 1; j <= i; j++) {
					System.out.print("*");
				}
			} else {
				int newLineNum = i - lineNum;
				for (int j = lineNum - 1; j >= newLineNum; j--) {
					System.out.print("*");
				}
			}
			System.out.println();
		}
		System.out.println("==별찍기 8번==");
		for (int i = 1; i <= 2 * lineNum - 1; i++) {
			if (i <= lineNum) {
				for (int j = lineNum - 1; j >= i; j--) {
					System.out.print(" ");
				}
				for (int j = 1; j <= i; j++) {
					System.out.print("*");
				}
			} else {
				int newLineNum = i - lineNum;
				for (int j = 1; j <= newLineNum; j++) {
					System.out.print(" ");
				}
				for (int j = lineNum - 1; j >= newLineNum; j--) {
					System.out.print("*");
				}
			}
			System.out.println();
		}
		System.out.println("==별찍기 9번==");
		for (int i = 1; i <= 2 * lineNum - 1; i++) {
			if (i <= lineNum) {
				for (int j = lineNum - 1; j >= i; j--) {
					System.out.print(" ");
				}
				for (int j = 1; j <= 2 * i - 1; j++) {
					System.out.print("*");
				}
			} else {
				int newLineNum = i - lineNum;
				for (int j = 1; j <= newLineNum; j++) {
					System.out.print(" ");
				}
				for (int j = 2 * (lineNum) - 2 * (newLineNum) - 1; j >= 1; j--) {
					System.out.print("*");
				}
			}
			System.out.println();
		}
		System.out.println("==별찍기 10번==");
		for (int i = 1; i <= 2 * lineNum - 1; i++) {
			if (i == 1 || i == 2 * lineNum - 1) {
				for (int j = 1; j <= 2 * lineNum - 1; j++) {
					System.out.print("*");
				}
			} else if (i <= lineNum) {
				int topLine = i - 1;
				for (int j = 1; j <= lineNum - topLine; j++) {
					System.out.print("*");
				}
				for (int j = 1; j <= 2 * topLine - 1; j++) {
					System.out.print(" ");
				}
				for (int j = 1; j <= lineNum - topLine; j++) {
					System.out.print("*");
				}
			} else {
				int lowerNum = i - lineNum + 1;
				for (int j = 1; j <= lowerNum; j++)
					System.out.print("*");
				for (int j = 1; j <= 2 * lineNum - 1 - 2 * lowerNum; j++) {
					System.out.print(" ");
				}
				for (int j = 1; j <= lowerNum; j++) {
					System.out.print("*");
				}
			}

			System.out.println();
		}
		scan.close();

	}
}

'Java' 카테고리의 다른 글

클래스와 인스턴스 그리고 객체  (0) 2019.05.17
필드와 메소드  (0) 2019.05.17
조건문  (0) 2019.05.17
입력과 출력  (0) 2019.05.16
명명규칙  (0) 2019.05.16
And