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

时间:2022-10-04 09:30:16 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

/*

假定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.wddqw.com/doc/3880136f27d3240c8547ef05.html