编写程序提示用户输入日期,输出这天为星期几。
来源:互联网 发布:阿里云磁盘io 编辑:程序博客网 时间:2024/06/06 16:38
package judgeWeekday;import java.util.Scanner;public class JudgeWeekday {//参考点选择2014年1月1日星期三具有一定的特殊性;代码也与之有关。public static final int YEAR0 = 2014;//public static final int MONTH0 = 1; //public static final int DAY0 = 1;public static final int WEEKDAY0 = 3;public static final String week[]={"天","一","二","三","四","五","六"};public static final int leapmonthday[]={31,29,31,30,31,30,31,31,30,31,30,31};public static final int noleapmonthday[]={31,28,31,30,31,30,31,31,30,31,30,31};public static void main(String[] args) {Scanner console = new Scanner(System.in);System.out.print("input the date like 1983 3 29: "); int year = console.nextInt();int month = console.nextInt();int day = console.nextInt();boolean ynleap = judgeleap(year);int weekday = judgeWeekday (year,month,day,ynleap);System.out.println( year + "年" + month + "月" + day +"日是星期" + week[weekday]);}public static int judgeWeekday (int year,int month,int day,boolean ynleap){int sum = computeDaysDistance(year,month,day,ynleap);int weekday = getWeekday(sum,year);return weekday;}//计算输入输入日期与参考日期相隔的天数。public static int computeDaysDistance(int year,int month,int day,boolean ynleap){int sum = 0,sum1 = 0,sum2 = 0;if(year < YEAR0){//计算sum1for(int i = year + 1;i < YEAR0;i++){ if(judgeleap(i)) sum1 += 366; else sum1 += 365;}//计算sum2if(ynleap) { sum2 = leapmonthday[month - 1]- day +1; for(int j = month + 1;j <=12;j++) sum2 += leapmonthday[j - 1]; } else { sum2 = noleapmonthday[month -1]- day +1; for(int j = month + 1;j <=12;j++) sum2 += noleapmonthday[j - 1]; }}else{//计算sum1for(int i = YEAR0;i < year;i++) { if(judgeleap(i)) sum1 += 366; else sum1 += 365; }//计算sum2sum2 = day -1; for(int j = 1;j <= month -1;j++) { if(ynleap) sum2 += leapmonthday[j - 1]; else sum2 += noleapmonthday[j -1]; }}//计算sumsum =sum1 + sum2;return sum;}//给与参考日期相隔的天数得到输入日期是星期几。public static int getWeekday(int sum,int year){int weekday = 0;if(year < YEAR0) weekday = (WEEKDAY0 + 7 - (sum %7))%7;else weekday = (WEEKDAY0 + (sum % 7))%7;return weekday;}//判断给定的year是否闰年。public static boolean judgeleap(int year){ boolean ynleap; if(((year % 4 ==0)&&(year % 100!= 0))||(year % 400 == 0)) ynleap = true; else ynleap = false; return ynleap;}}//class
0 0
- 编写程序提示用户输入日期,输出这天为星期几。
- 黑马程序员---------------------编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期, * 程序计算这一天是星期几,并且计算出是一年中的第几天
- 黑马程序员—编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期, *程序计算这一天是星期几,并且计算出是一年中的第几天。 */
- 黑马程序员 测试题:编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天
- 编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天
- 输入日期输出星期
- C#输入日期显示该日期当天为星期几
- 输入日期计算出星期几
- 给定日期输出星期几
- 用户输入一个日期,计算时星期几,并计算时一年中的某一天,使用正则表达式判断
- 用户输入一个日期,计算时星期几,并计算时一年中的某一天,使用自定义方法判断
- 生日是星期几,输入公历,输出星期几
- 用户输入年月日,计算那天是星期几
- 输入一个日期判断它是星期几
- 输入日期后自动显示星期几
- 显示输入的日期是星期几
- 输入某个日期,求出是星期几
- C++输入日期判断是星期几
- Ubuntu 下gcc,g++环境搭建
- PAT1010
- MD5加密
- Ext each 不是使用break,是使用return false 跳出循环
- 防止按钮在短时间内被多次点击
- 编写程序提示用户输入日期,输出这天为星期几。
- TP0-10-阅读-详解
- dojo的树状结构展示
- 黑马程序员_类加载器、内省、JavaBean、BeanUtil学习笔记
- 返回局部变量的问题
- 通过代码让UIAlertView自动消失
- JVM垃圾回收机制
- Java基本开发环境JDK的安装
- OV5640全景模式预览倒180度,拍照正常的问题