100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 通过键盘输入每年每月每日 计算并输出这一天是这一年的第几天 例如2001年3月5日是这

通过键盘输入每年每月每日 计算并输出这一天是这一年的第几天 例如2001年3月5日是这

时间:2020-08-18 19:07:11

相关推荐

通过键盘输入每年每月每日 计算并输出这一天是这一年的第几天 例如2001年3月5日是这

public static void main(String[] args){int year;int mouth;int day=0;int days;//累计天数int d=0;int e = 0;Scanner sr = new Scanner(System.in);do {//决定程序是否可以重复运行System.out.println("输入年:");year = sr.nextInt();System.out.println("输入月:");mouth = sr.nextInt();System.out.println("输入日:");days = sr.nextInt();if ((mouth < 0 || mouth > 12 || days < 0 || days > 31)||(mouth==2 ||days < 30)||(mouth==4 || days<31) || (mouth==6 || days<31) || (mouth==9 || days<31) || (mouth==11 || days<31)) {//判定月份只有12个月并且2月最多只有29天,和设置4,6,9,11月可以多一天手动闰年System.out.println("输入不合法!请重新输入比如2月最多只有29天");e = 1;}} while (e == 1);for (int i = 1; i <mouth; i++) {switch (i) {//1月3月5月7月8月10月和12月是31天以外其他都是30天一个月case 1:case 3:case 5:case 7:case 8:case 10:case 12: {day = 31;break;}case 4:case 6:case 9:case 11: {day = 30;break;}case 2: {//2月是决定是否是闰年的变量/*** 闰年:①:非整百年数除以4,无余为闰,有余为平;②整百年数除以400,无余为闰有余平* 二月:平年28天、闰年29天*/if ((year % 100 !=0 &&year % 4 == 0) || (year % 100 == 0 && year%400==0)) {day = 29;} else {day = 28;}}default:break;}d+=day;}System.out.println("这是"+year+"年的"+(d+days)+"天");}}

上面的这种是没有使用数组来进行简化代码的,下面这种是使用数组进行简化后的代码

public static void main(String[] args) {int[] arr= {0,31,28,31,30,31,30,31,31,30,31,30,31};Scanner input =new Scanner(System.in);System.out.println("请输入一年的具体年份(如:19990102):");int nian=input.nextInt();int year=nian/10000;int moth=nian/100%100;int sum=0;int day=nian%100;if ((year%4==0&&year%100!=0)||year%400==0) {arr[2]=29;}for (int i = 2; i <= moth; i++) {sum+=arr[i];}int he=sum+day;System.out.println("这是"+year+"年的第"+he+"天");}}

通过键盘输入每年每月每日 计算并输出这一天是这一年的第几天 例如2001年3月5日是这一年的第64天。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。