본문 바로가기

JAVA/국비 공부

3월11일 수업(별 찍기05)

package day0311;

import java.util.Scanner;

public class StarPrinter05 {

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

        System.out.println("별찍기 5번");
        System.out.println("출력줄 수 입력");
        System.out.print(">");
        int userNumber = scanner.nextInt();

        int max = 2 * userNumber - 1;
        char[][] stars = new char[userNumber][max];

        for (int i = 0; i < stars.length; i++) {
            // 별의 갯수 = (i+1) * 2 - 1
            //         = 2 * i + 2 - 1
            //         = 2 * i + 1
            int starWidth = 2 * i + 1;
                        
            //별이 찍히는 시작 지점: 4 - 3 - 2 - 1 - 0
            //                 = userNumber - (i +1)
            int starStart = userNumber - (i + 1);
            
            //별을 담당하는 j for 문
            for(int j = starStart; j < starStart + starWidth; j++) {
                stars[i][j] = '*';
            }
        }
        for(int i = 0; i < stars.length; i++) {
            for(int j = 0; j <stars[i].length; j++) {
                System.out.print(stars[i][j]);
            }
            System.out.println();
        }
        

        scanner.close();
    }

}

'JAVA > 국비 공부' 카테고리의 다른 글

별 찍기 (3월11일)  (0) 2021.03.11
별 찍기(3월11일)  (0) 2021.03.11
3월11일수업(별 찍기03)  (0) 2021.03.11
3월11일수업(char 배열을 사용한 별 찍기 2번)  (0) 2021.03.11
3월10일(게시판)  (0) 2021.03.11