📄 calendar.java
字号:
package test;
import java.util.*;
public class calendar {
public static void main(String[] args){
System.out.println("**************欢迎使用万年历************");
int year=0;
int month=0;
int day=0; //所输入年份的月份天数;
int sumdays=0;//总天数
int yearday=0; //所输入年到1990年1月1日的天数
int monthday=0; //所输入月到所输的年1月1日的天数
int week=0;//该月第一天是星期几
int weekday=0;//当天是星期几
String answer;
do{
//请用户输入要查询的年份 和月份
//----------循环后更新数据
Scanner input = new Scanner(System.in);
System.out.print("请输入年份:");
year = input.nextInt();
System.out.print("请输入月份:");
month =input.nextInt();
//判断该年是否是闰年
boolean isRn =year%4==0&&year%100!=0||year%400==0;
if (month ==1||month ==3||month ==5||month ==7||month ==8||month ==10||month ==12){
day=31;
}
else if (month ==4||month ==6||month ==9||month ==11){
day=30;
}
else if (month ==2&&isRn==true){
day=29;
}
else {day=28;}
//计算该月第一天是星期几
//计算所输入年1月1日到1900年1月1日的总天数
for(int i=1900; i<year;i++){
if(i%4==0&&i%100!=0||i%400==0){
yearday=yearday+366;
}else{
yearday=yearday+365;
}
}
//计算所输入月份 到 所输入年份1月1号的天数
for(int n=1; n<month;n++){
if (n ==1||n ==3||n ==5||n ==7||n ==8||n ==10||n ==12){
monthday=monthday+31;
}
else if (n ==4||n ==6||n ==9||n ==11){
monthday=monthday+30;
}
else if (n ==2&&isRn==true){
monthday=monthday+29;
}
else {monthday=monthday+28;}
}
//计算总天数
sumdays=yearday+monthday;
//计算该月第一天是星期几
week=1+sumdays%7;
//打印月历
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
//打印第一行空格
if(week!=7){ //判断第一天是否是星期日 如果是 不打印空格
for (int j=0;j<week;j++){
System.out.print("\t");
}
}
for (int k=1;k<=day;k++){
weekday=(sumdays-1+k)%7+1; //计算当月每日是星期几
if(weekday==6){ //判断当日 是否是星期六
System.out.print(k+"\n");
}else{
System.out.print(k+"\t");
}
}
System.out.print("\n\n是否继续(y/n):");
answer =input.next();
}while(answer.equals("y"));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -