标题: 求一下万年历的程序 [打印本页] 作者: 46期李帅 时间: 2016-7-13 15:02 标题: 求一下万年历的程序 谢谢,急用作者: 李铮 时间: 2016-7-13 15:03
import java.util.*;
class WNL {
public static void main (String [] args){
Scanner sc = new Scanner (System.in);
System.out.println("输入年份");
int year = sc.nextInt();
System.out.println("输入月份");
int month = sc.nextInt();
int sum = getSum(year ,month);
print((sum+1)%7,month,year);
}
public static int getSum(int year , int month ){
int sum = 0;
for(int i = 1900 ; i < year; i++){
//判断 平年 润年;
if((i % 400 == 0) || ( (i % 4 == 0) && (i %100 != 0) )){
sum += 366;// 闰年 :1 能被 400 整除 . 2:能被 4 整除 并且 不能被 100 整除
}else{
sum += 365 ;// 平年
}
}
System.out.println(sum);
// 求出 月份的 天数;
switch (month-1){
case 12:
sum += 31;
case 11:
sum += 30;
case 10:
sum += 31;
case 9:
sum += 30;
case 8:
sum += 31;
case 7:
sum += 31;
case 6:
sum += 30;
case 5:
sum += 31;
case 4:
sum += 30;
case 3:
sum += 31;
case 2:
// 判断;
if((year % 400 == 0) || ( (year % 4 == 0) && (year %100 != 0) )){
sum += 29;
}else{
sum += 28;
}
case 1:
sum += 31;// 365 + 31 + 28
}
System.out.println(sum);
return sum ;
}
public static void print(int space,int month, int year){
int day = 0;
switch (month){
case 2:
if((year % 400 == 0) || ( (year % 4 == 0) && (year %100 != 0) )){
day = 29;
}else{
day = 28;
}
break;
case 4:
case 6:
case 9:
case 11:
day=30;
break;
default:
day = 31;