본문 바로가기
study/Java

[Java] 31. Test1 풀이 (년도와 월을 입력받아 해당 월의 달력을 출력하기)

by 금이패런츠 2022. 3. 29.
728x90
반응형
package chap12;

import java.util.Calendar;
import java.util.Scanner;
/*
 년도와 월을 입력받아 해당 월의 달력을 출력하기
[결과] 
년도와 월를 입력하세요
2022 03
	2022년3월
  일 월  화 수  목 금 토
        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 31
 */
public class Test0323_1 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		System.out.println("년도와 월를 입력하세요");
		int year = scan.nextInt();
		int mon = scan.nextInt();
		Calendar cal = Calendar.getInstance();
		cal.set(year,mon-1,1);
		int firstWeek = cal.get(Calendar.DAY_OF_WEEK);
		int lastday = cal.getActualMaximum(Calendar.DATE);
		System.out.println("\t"+year + "년" + mon + "월");
		System.out.printf(" %2s%2s%3s%2s%3s%2s%2s\n",
				          "일,월,화,수,목,금,토,일".split(","));
		for(int i=1,day=1;day<=lastday;i++) {
			if(i < firstWeek) System.out.printf("%3s"," ");
			else System.out.printf("%3d",day++);
			if(i%7==0)System.out.println();
		}
	}
}
728x90
반응형