#year #month #Calendar #BufferedReader #for
public static void main(String[] args) throws NumberFormatException, IOException {
// 년와 월을 입력 받아 달력을 출력
BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
System.out.print("년을 입력해주세요 : ");
int year = Integer.parseInt(read.readLine());
System.out.print("월을 입력해주세요 : ");
int month = Integer.parseInt(read.readLine());
Calendar cal = Calendar.getInstance(); // 현재 날짜와 시간
// 해당 월의 첫번째 날짜의 요일
// DAY_OF_WEEK
cal.set(year, month-1, 1);
int dayOfweek = cal.get(Calendar.DAY_OF_WEEK)-1; // 1~7 -> 0~6
// int dayOfweek = (lastYear + leapYear_cnt + dayOfYear)%7;
// 월에 따른 날짜 출력 조건
// getActualMAXIMUM -> 현재 객체의 최대값 반환 / getMAXIMUM -> 전체 중, 최대값만 반환
int lastday = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.printf(" %d년 %02d월\n", year, month);
System.out.printf("일\t월\t화\t수\t목\t금\t토\n");
// 공백 출력
for(int i =0; i<dayOfweek; i++) {
System.out.print("\t");
}
// 날짜 출력
for(int i = 1; i<=lastday; i++) {
System.out.print(i + "\t");
if((dayOfweek+i)%7 ==0) {
System.out.println();
}
}
}
'IT > JAVA' 카테고리의 다른 글
[JAVA/자바] 컬렉션 프레임워크 리스트(List) 계열 ArrayList 예제 (0) | 2018.09.06 |
---|---|
[JAVA/자바] SimpleDateFormat 을 사용 해서 현재 시간 알아오기 (0) | 2018.09.06 |
[JAVA/자바] Multicast 를 사용하여 서버와 클라이언트 통신 해보기 (0) | 2018.08.30 |
[JAVA/자바] 메서드 오버로딩(Method Overloading) 알아보기 (0) | 2018.08.27 |
[JAVA/자바] 학생의 수(n명)를 받아 개인 정보 출력하기 (0) | 2018.08.27 |