2015 IT 웹 기반 개발자과정/JAVA
JAVA Calendar 만들기 [API Calendar]
by 한여름밤의코딩
2015. 11. 12.
package src.kr.ac.jnu.day04.Calendar;
import java.util.Calendar;
public class CalendarUtil {
public void showByYear(int year) {
for (int month = 1; month <= 12; month++) {
showByMonth(year, month);
}
}
public void showByMonth(int year, int month) {
Calendar c = Calendar.getInstance();
c.set(year, month - 1, 1);
// year/month/1이 무슨 요일>???
// 1 : 일요일 ~~~ 7 : 토요일
int week = c.get(Calendar.DAY_OF_WEEK);
// year/month 의 마지막 날수
int lastday = c.getActualMaximum(Calendar.DATE);
System.out.println("<< " + year + "년 " + month + "월" + " >>");
showByDay(week, lastday);
}
private void showByDay(int week, int lastday) {
int lineCnt = 0;
System.out.println("===================================================");
System.out.println(" 일\t 월\t 화\t 수\t 목\t 금\t 토\t");
// System.out.println("===================================================");
for (int i = 1; i < week; i++) {
System.out.print("\t");
lineCnt++;
}
for (int day = 1; day <= lastday; day++) {
System.out.printf("%2d\t", day);
lineCnt++;
if (lineCnt % 7 == 0 || day == lastday) {
System.out.println();
}
}
System.out.println("===================================================");
}
}
=============================================================================================================================
package src.kr.ac.jnu.day04.Calendar;
import java.util.Scanner;
public class CalendarVw {
private Scanner sc = new Scanner(System.in);
private CalendarUtil util = new CalendarUtil();
private int getInput(String msg) {
System.out.println(msg);
return sc.nextInt();
}
public void process() {
int year = 0 ;
int month = 0;
int command = getInput("항목을 선택하세요 (1. 특정년도 날짜보기 2. 특정월 날짜보기 3. 종료) : ");
while (true) {
switch (command) {
case 1:
year = getInput("년도를 입력하세요");
util.showByYear(year);
break;
case 2:
year = getInput("년도를 입력하세요 : ");
month = getInput("월을 입력하세요 : ");
util.showByMonth(year, month);
break;
case 3:
System.out.println("프로그램을 종료합니다");
System.exit(0); // 프로그램 정상 종료
break;
default:
System.out.println("잘못 입력하셨습니다.");
}
}
}
}
=============================================================================================================================
package src.kr.ac.jnu.day04.Calendar;
public class CalendarMain {
public static void main(String[] args) {
new CalendarVw().process();
}
}