package JAVAcalendar;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Calendar
{
private static final String DAY_OF_WEEK = null;
private static final String DATE = null;
public static void main(String[] args) throws IOException
{ //BufferedReader 클래스 인스턴스 생성
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//Calendar 인스턴스 생성
Calendar cal = Calendar.getInstance();
// 주요 변수
int y,m; //연,월
int w; //요일
int i; //루프변수
do
{
System.out.println("연도 입력:");
y = Integer.parseInt(br.readLine());
}
while ( y<1);
do
{
System.out.println("월 입력:");
m = Integer.parseInt(br.readLine());
}
while ( m<1 || m>12);
// 사용자로부터 입력받은 데이터 연(y),월(m)을 이용하여 달력 날짜 세팅
cal.set(y,m-1,1);
// 월 구성시 입력값(m)을 그대로 사용하는게 아니라 입력값에서 1을 뺀값으로 월을 설정해야 한다.
// 일 구성시 입력받은 연,월에 해당하는 1일로 설정한다.
w = cal.get(Calendar.DAY_OF_WEEK);
//결과출력 -> 달력 생성
System.out.println();
System.out.println("\t["+y+"년" +m+ "월]\n");
System.out.println("일 월 화 수 목 금 토");
System.out.println("=========================");
for(i=1; i<w; i++);
System.out.println(" "); //공백 4칸
// Calendar클래스의 <getActualMaximum()> 메소드확인
for (i=1; i<cal.getActualMaximum(Calendar.DATE); i++)
{
System.out.printf("%4d", i);
w++; // 반복문을 수행하여 날짜가 증가할 때 마다 요일도 함께 증가할수있게 처리한다.
if(w%7==1) // 증가한 요일이 일요일이 될때마다 개행 후 출력한다.
System.out.println();//개행
}
if(w%7!=1)
System.out.println();//개행
System.out.println("==================================");
}
private static Calendar getInstance() {
// TODO Auto-generated method stub
return null;
}
private int getActualMaximum(String date2) {
// TODO Auto-generated method stub
return 0;
}
private void set(int y, int i, int j) {
// TODO Auto-generated method stub
}
private int get(String dayOfWeek) {
// TODO Auto-generated method stub
return 0;
}
}