一、万年历
需求:输入年和月,输出当月的日历
(1900年1月1日是星期一)
思路:
1、计算出输入的某年某月1日距离1900年1月1日的天数,模上7求余数,得到某年某月1日是星期几
2、总天数 = 1900年~输入年的总天数 + 1月~输入月的总天数 +1
3、用switch语句选择得到月份的天数,注意平闰年的二月天数不一样
4、当总天数模上7 = 0时,week =7
import java.util.Scanner;
public class Calendar{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scanner.nextInt();
System.out.println("请输入月份:");
int month = scanner.nextInt();
//计算离1900年1月1日的总天数
//计算1900年~输入年的总天数
int yearDaySum=0;
for(int i=1900;i<year;i++){
if((i%4==0 && i%100!=0)||(i%400==0)){
yearDaySum += 366;
}else{
yearDaySum +=365;
}
}
//计算 1月~输入月的总天数
int monthDaySum=0;
for(int i=1;i<month;i+