import java.util.Scanner;
/**
-
作者:清华北大IT管理协会
-
时间:2019-3-23
-
题目:已知1900年1月1日是星期一,从键盘上任意输入一个日期(年份、月份和日期),
判断该日是星期几?
*/
//闰年366天,年份是整百数的必须是400的倍数才是闰年,例如1900年、2100年就不是闰年。
public class Date {
public static void main(String[] args) {int year,month,day;
Scanner in = new Scanner(System.in);
System.out.print(“请输入年份:”);
year = in.nextInt();
System.out.print(“请输入月份:”);
month = in.nextInt();
System.out.print(“请输入日期:”);
day = in.nextInt();
System.out.println(“输入的日期为:” + year + “-” + month + “-”+day);//基本先判断输入的年月日无误
if (year >= 1 && month > 0 && month < 13 && day > 0 && day < 32){
while(month == 4 || month == 6 || month == 8 || month == 10 || month == 12)
if(day>30){
//此处放入主要过程
}else{
System.out.println(“输入有误!”);
}}else{
System.out.println(“输入有误!”);
}//主要过程如下:
//年
int ago = 0;
for (int i = 0; i < year; i++) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
{
ago += 366;
}
else
{
ago += 365;
}
}//月
int now = 0;
for (int i = 0; i < month; i++) {
if(i == 2 && year % 400 == 0){
now =+ 29;
}else{
now =+ 28;
}
if(i == 1 || i == 3 || i == 5 || i == 7 || i == 9 || i == 11){
now =+ 31;
}
if(i == 4 || i == 6 || i == 8 || i == 10 || i == 12){
now =+ 30;
}
}int sum = ago + now + day;
int week = sum%7;
switch (week)
{
case 1:
System.out.println(“这天是星期一”);
break;
case 2:
System.out.println(“这天是星期二”);
break;
case 3:
System.out.println(“这天是星期三”);
break;
case 4:
System.out.println(“这天是星期四”);
break;
case 5:
System.out.println(“这天是星期五”);
break;
case 6:
System.out.println(“这天是星期六”);
break;
case 0:
System.out.println(“这天是星期日”);
break;
default:
break;
}
}
}