目录
代码展示:
解析:
1,3,5,7,8,10,12月都是31天,4,6,9,11月都是30天。闰年会影响2月天数的计算,所以要对输入的年份进行判断,判断该年份是否为闰年或者世纪闰年。闰年是能被4整除但不能被100整除,世纪闰年是能被400整除的年份。
完整代码:
import java.util.Scanner; public class Switch输入月份练习 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入年份"); int year =sc.nextInt(); System.out.println("请输入月份"); int mouth =sc.nextInt(); System.out.println("请输入天数"); int day =sc.nextInt(); int sum=0;//总天数 for (int i = 1;i<=mouth-1;i++){ //如果不减一的话,输入12月会多算一个31天 int d=0; switch (i){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: d=31; break; case 4: case 6: case 9: case 11: d=30; break; case 2:{ if(year%400==0){ //世纪闰年 d=29; break; }else if(year/4==0 || year%100!=0){ //闰年 d=29; break; }else{ d=28; break; } } } // switch判断结束 sum=sum+d; //每循环一次天数随之增加 } sum=sum+day; //将天数复制 System.out.println("这是这一年中的第"+sum+"天"); } }