public class Calendar {
/**
* 直接的可以查看效果
* @param args
*/
public static void main(String[] args) {
int year=input.nextInt();//年
int month=input.nextInt();//月
int yearday=0;//年总天数
//计算从1900年到今年之间的时间
for (int i = 1900; i < year; i++) {
//计算闰年的条件
if(i%4==0&&i%100!=0||i%400==0){
yearday=yearday+366;
}else{
yearday=yearday+365;
}
}
int day=0;//一个月的天数
int monthday=0;//今年一月到本月的天数
int sumday=0;//距离1900年的总天数
//计算今年一月到本月的天数
for (int i = 1; i <=month; i++) {
switch(i){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day=31;
break;
case 2:
if(year%4==0&&year%100!=0||year%400==0){
day=29;
break;
}else{
day=28;
break;
}
default:
day=30;
break;
}
if(i<month){
monthday=monthday+day;
}
}
sumday=yearday+monthday;
int week;//星期
int temp=sumday%7+1;
if(temp==7){
week=0;
}else{
week=temp;
}
System.out.println("星期天/t星期一/t星期二/t星期三/t星期四/t星期五/t星期六");
//输入空格 表示本月一号从星期几开始
for (int i = 0; i < week; i++) {
System.out.print("/t");
}
//循环遍历本月所有的日期
for (int i = 1; i <= day; i++) {
System.out.print(i+"/t");
if((sumday+i)%7==6){
System.out.println();
}
}
}
}
我用java写的日历
最新推荐文章于 2022-05-06 16:14:51 发布