簡単なカレンダー
1535 ワード
package com.sxt.test;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;
/**
*
* @author Administrator
*
*/
public class TestCalendar {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print(" :");
int year = in.nextInt();
System.out.print(" :");
int month = in.nextInt()- 1;
in.close();
if(year <= 0) {
throw new IllegalArgumentException(" 0!");
}
if(month < 0 || month > 12) {
throw new IllegalArgumentException(" , 1~12 !");
}
show(year, month);
}
public static void show(int year, int month) {
Calendar calendar = new GregorianCalendar();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONDAY, month);
calendar.set(Calendar.DATE, 1); //
int max = calendar.getActualMaximum(Calendar.DATE); //
String[] weeks = {" ", " ", " ", " ", " ", " ", " "};
for (String string : weeks) {
System.out.print(string + "\t");
}
System.out.println();
int num = calendar.get(Calendar.DAY_OF_WEEK); //
for(int j =1; j<num; j++) {
System.out.print(" "+ "\t");
}
for(int i = 1; i <= max; i++) {
calendar.set(Calendar.DATE, i);
num = calendar.get(Calendar.DAY_OF_WEEK) - 1; //
if(num == 6) {
System.out.println(i + "\t");
} else{
System.out.print(i + "\t");
}
}
}
}