๐Ÿ“•JAVA

[JAVA] ๋‹ฌ๋ ฅ ์ถœ๋ ฅํ•˜๊ธฐ

๋น™๋””์šฉ 2024. 4. 28.
package time.test;

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.util.Scanner;

public class TestCalendarPrinter {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        System.out.print("๋…„๋„๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” : ");
        int year = sc.nextInt();

        System.out.print("์›”์„ ์ž…๋ ฅํ•˜์„ธ์š” : ");
        int month = sc.nextInt();

        System.out.println("Su Mo Tu We Th Fr Sa");

        printCalendar(year, month);
    }

    public static void printCalendar(int year, int month) {
        LocalDate date = LocalDate.of(year, month, 1);

        // ํ•ด๋‹น ์›”์˜ ์ฒซ ๋‚ ์˜ ์š”์ผ ํ™•์ธ
        DayOfWeek startDayOfWeek = date.getDayOfWeek();

        // ์ฒซ์งธ ์ฃผ์— ๋งž๊ฒŒ ์‹œ์ž‘ ์š”์ผ๊นŒ์ง€ ๊ณต๋ฐฑ์„ ์ถœ๋ ฅ
        for (int i =0; i < startDayOfWeek.getValue(); i++) {
            System.out.print("   ");
        }

        // ํ•ด๋‹น ์›”์˜ ๋‚ ์งœ๋ฅผ ์ถœ๋ ฅ
        int dayOfMonth = 1;
        while (date.getMonthValue() == month) {
            System.out.printf("%2d ", date.getDayOfMonth());
            if (date.getDayOfWeek() == DayOfWeek.SATURDAY) {
                System.out.println();
            }
            date = date.plusDays(1);
        }
    }
}
//์ถœ๋ ฅ ๊ฒฐ๊ณผ
๋…„๋„๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” : 2024
์›”์„ ์ž…๋ ฅํ•˜์„ธ์š” : 4
Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6 
 7  8  9 10 11 12 13 
14 15 16 17 18 19 20 
21 22 23 24 25 26 27 
28 29 30

๋Œ“๊ธ€