日历的实现
import java.util.*;
public class B{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("请输入年份");
int year = input.nextInt();
System.out.print("请输入月份");
int month = input.nextInt();
int sum = 0;
int y = 1990;//1990年1月1日刚好是星期一
//计算从输入的要查询的年份的1月1日距1990年1月1日有多少天
while(y<year){
if(y%4==0&&y%100!=0||y%400==0){
sum = sum + 366;
}else{
sum = sum + 365;
}
y++;
}
//计算该年1月1日距给定月1月1日有多少天
int m = 1;
while(m<month){
if(m==4||m==6||m==9||m==11){
sum = sum + 30;
}else if(m==2){
if(y%4==0&&y%100!=0||y%400==0){
sum = sum + 29;
}else{
sum = sum +28;
}
}else{
sum = sum + 31;
}
m++;
}
sum = sum + 1;
//输出日历
System.out.println("日/t一/t二/t三/t四/t五/t六");
int k = 1;
int WeekDay=sum%7;
while(k<=WeekDay){
System.out.print("/t");
k++;
}
int d = 1;
int day = 1;
if(m==4||m==6||m==9||m==11){
day = 30;
}else if(m==2){
if(y%4==0&&y%100!=0||y%400==0){
day = 29;
}else{
day = 28;
}
}else{
day = 31;
}
while(d<=day){
System.out.print(d+"/t");
if(sum%7==6){
System.out.println();
}
d++;
sum++;
}
}
}