- /*
- 已知1990年1月1日星期一。求任意一个日期是周几。
- 用键盘输入获得年月日,获得总的天数,通过对7取余,然后加上星期一 获得相应的星期。
- 求出总的
- */
- import java.util.Scanner;
- class GetWeekDay
- {
- public static void main(String[] args)
- {
- getDate();
- }
- public static void getDate()
- {
- Scanner sc=new Scanner(System.in);
- int year,month,day;
- while(true)
- {
- System.out.println("请输入年:");
- year=sc.nextInt();
- if(year<1900)
- {
- System.out.println(" 请重新输入一个1900年之后的年份。");
- }
- else
- {
- break;
- }
- }
- while(true)
- {
- System.out.println("请输入月:");
- month=sc.nextInt();
- if(month<=0||month>12)
- {
- System.out.println("月份错误,重新输入。");
- }
- else
- {
- break;
- }
- }
- while(true)
- {
- System.out.println("请输入日:");
- day=sc.nextInt();
- if(day<=0||day>getDays(year,month))
- {
- System.out.println("日期不存在,重新输入。");
- }
- else
- {
- break;
- }
- }
- getWeekDay(year,month,day);
- }
- public static void getWeekDay(int year,int month,int day)
- {
- int sumDays=0;
- for (int i=1900;i<year ;i++ )
- {
- for(int j=1;j<=12;j++)
- {
- sumDays+=getDays(i,j);
- }
- }
- for(int k=1;k<month;k++)
- {
- sumDays+=getDays(year,k);
- }
- sumDays=sumDays+day-1; //获得天数差
- String tian;
- switch((sumDays%7+1)) //将数字转换成星期几
- {
- case 1:
- {
- tian="星期一";
- break;
- }
- case 2:
- {
- tian="星期二";
- break;
- }
- case 3:
- {
- tian="星期三";
- break;
- }
- case 4:
- {
- tian="星期四";
- break;
- }
- case 5:
- {
- tian="星期五";
- break;
- }
- case 6:
- {
- tian="星期六";
- break;
- }
- default:
- {
- tian="星期天";
- break;
- }
- }
- System.out.println(year+"年"+month+"月"+day+"日是"+tian+"。");
- }
- //判断闰年
- public static boolean judgeYear(int year)
- {
- if(year%4==0&&year%100!=0||year%400==0)
- {
- return true;
- }
- return false;
- }
- //判断每个月的天数。
- public static int getDays(int year,int month)
- {
- int days;
- if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
- {
- days=31;
- }
- else if (month==2)
- {
- if(judgeYear(year)==true) //调用 判断是否闰年函数,来获得2月的天数。
- {
- days=29;
- }
- else
- {
- days=28;
- }
- }
- else
- {
- days=30;
- }
- return days;
- }
- }
复制代码 完全自己写的小程序,不通过系统提供的API实现查询某一天是星期几。大家可以模仿练练代码。
|
|