java编写万年历(1900年以后)

2022-10-04 09:30:16   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《java编写万年历(1900年以后)》,欢迎阅读!
万年历,编写,以后,java,1900

/*

假定1900年1月1日为星期一,实现输入任意一个1900年1月1日后的日期,输出该日对应的当月日历?

*/

import java.util.Scanner;

public class A4_262{

public static void main(String[] args){

Scanner in=new Scanner(System.in);

System.out.println("请输入你想查询的年份:");

int year=in.nextInt();

System.out.println("请输入你想查询的月份:");

int month=in.nextInt();

int sum=0;

for(int i=1900;i<year;i++){

if((i%4==0&&i%100!=0)||i%400==0){

sum+=366;

}else {

sum+=365;

}

}

for(int i=1;i<month;i++){

if(i==2){

if((year%4==0&&year%100!=0)||year%400==0){

sum+=29;

}else {

sum+=28;

}

}else if(i==4||i==6||i==9||i==11){

sum+=30;

}else{

sum+=31;

}

}

sum+=1;

int wekday=sum%7; //计算year年month月1日为星期几

System.out.println("星期"+wekday);

System.out.println(year+"年"+month+"月的日历如下:");

System.out.println("日\t一\t二\t三\t四\t五\t六\t");

int day1=0;

switch(month){

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

day1=31;

break;

case 4:

case 6:

case 9:

case 11:

day1=30;

break;

case 2:

if((year%4==0&&year%100!=0)||year%400==0){

day1=29;

}else{

day1=28;

}

}

for(int j=0;j<wekday;j++){

System.out.print("\t");

}

for(int i=1;i<=day1;i++,wekday++){

System.out.print(i+"\t");

if((wekday+1)%7==0){

System.out.println();

}

}

}

}

本文来源:https://www.wddqxz.cn/3880136f27d3240c8547ef05.html

相关推荐