JAVA

자바 Calendar 클래스를 이용한 달력 출력

KSJ IT 2018. 9. 7. 16:48

유익하셨다면 광고 한번씩만 클릭해주시면 감사하겠습니다.

반응형

// 년과 월을 입력받아 달력을 출력.

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

System.out.print("년 : ");

int year = Integer.parseInt(reader.readLine());

System.out.print("월 : ");

int month = Integer.parseInt(reader.readLine());

//날짜 셋팅

Calendar cal = Calendar.getInstance(); // 현재 날짜와 시간.

cal.set(year, month - 1, 1);             // Calendar 클래스에서 0 - 1월 1 - 2월 식으로 입력한값보다 -1을 해야 제대로 인식한다.

// 1 ~ 7 달의 첫번째 시작일을 설정한다.

int dayofweek = cal.get(Calendar.DAY_OF_WEEK) - 1;   

// 여기서부터 출력 구

System.out.printf("    %d년 %02d월\n",year,month);

System.out.println("일\t 월\t 화\t 수\t 목\t 금\t 토\n");

// 공백 출력 1일 전까지는 날짜가 없기에 공백으로 처리한다.

for(int i = 0; i < dayofweek; i++) {

System.out.print(" \t");

}

int lastday = cal.getActualMaximum(Calendar.DAY_OF_MONTH);

// 날짜 출력

for(int i = 1; i <= lastday; i++) {

System.out.print(i + "\t");

if((dayofweek + i) % 7 == 0) {

System.out.println();

}

}

반응형