import java.util.Calendar;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class CalendarTest{
 public static void main(String[] args)throws IOException {
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

  int y,m,w;

  System.out.print("년도 ? ");
  y = Integer.parseInt(br.readLine());

  do {
   System.out.print("월?");
   m = Integer.parseInt(br.readLine());
  }
  while (m<1 || m>12);

  Calendar cal = Calendar.getInstance();

  //가져온 날짜를 달력을 출력할 달의 1일로 설정
  cal.set(y,m-1,1);  //월은 0부터시작
  
  //y년 m월 1일의 요일
  w = cal.get(Calendar.DAY_OF_WEEK);

  System.out.println("\t"+y+"년"+m+"월");
  System.out.println("  일  월  화  수  목  금  토  ");
  System.out.println("===============================");

  //y년 m월 1일의 요일전까지 빈칸처리(4칸씩)
  for(int i=1;i<w;i++){ 
   //w의 요일값만큼 빈칸이동
   System.out.print("    ");
  }


  //1일부터 마지막날까지 출력
  for(int i=1; i<cal.getActualMaximum(Calendar.DATE);i++){
   //1부터 해당월의 마지막날까지 반복
   System.out.printf("%4d",i); //출력
   w++;
   if(w%7==1)
    System.out.println();
  }
  if(w%7!=1)
   System.out.println();
  System.out.println("================================");
 }
}

반응형

'JAVA' 카테고리의 다른 글

[JAVA] DATE 클래스 살아온날수  (0) 2021.12.19
[JAVA] Calendar 클래스 주간  (0) 2021.12.19
[JAVA] StringBuffer  (0) 2021.12.19
[JAVA] Number 클래스  (0) 2021.12.18
[JAVA] Wrapper 클래스  (0) 2021.12.18
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기