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");
}
}
}
}
转载于:https://my.oschina.net/hasonger/blog/211073
本文详细介绍了如何使用Java的Calendar类进行日期查询,并通过控制台输入年份和月份来展示对应月份的日历。程序首先验证输入的有效性,然后根据输入参数显示完整的日历表,包括星期和日期。

684

被折叠的 条评论
为什么被折叠?



