java 输入某年某月某日,判断这一天是这一年的第几天
题目:输入某年某月某日,判断这一天是这一年的第几天?
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
程序设计:
importjava.util.*; publicclasstest{ publicstaticvoidmain(String[]args){ intday=0; intmonth=0; intyear=0; intsum=0; intleap; System.out.print("请输入年,月,日\n"); Scannerinput=newScanner(System.in); year=input.nextInt(); month=input.nextInt(); day=input.nextInt(); switch(month)/*先计算某月以前月份的总天数*/ { case1: sum=0;break; case2: sum=31;break; case3: sum=59;break; case4: sum=90;break; case5: sum=120;break; case6: sum=151;break; case7: sum=181;break; case8: sum=212;break; case9: sum=243;break; case10: sum=273;break; case11: sum=304;break; case12: sum=334;break; default: System.out.println("dataerror");break; } sum=sum+day;/*再加上某天的天数*/ if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/ leap=1; else leap=0; if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum++; System.out.println("Itisthetheday:"+sum); } }