运行结果:
代码:
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("请输入年:");
int year=in.nextInt();
System.out.println("请输入月:");
int month=in.nextInt();
System.out.println("请输入日:");
int day=in.nextInt();
int sum=0;//天数
month=month-1;//月份减一,因为你输入的月份是还没有过完所以那个月不应该计算
//使用switch方式
switch (month){
case 12:
sum+=31;
case 11:
sum+=30;
case 10:
sum+=31;
case 9:
sum+=30;
case 8:
sum+=31;
case 7:
sum+=31;
case 6:
sum+=30;
case 5:
sum+=31;
case 4:
sum+=30;
case 3:
sum+=31;
//先把2月份的天数为28,在下面在算是否是闰年
case 2:
sum+=28;
case 1:
sum+=31;
break;
}
/**
* 注:除了1月份要写break外其他不需要写 原因 :switch在找对应的case之后运行完case里面的代码块如果你那个
* 代码块没写break的话他还会运行下面的case ,因为我们要算出输入的日期是哪年的第几天,月份的顺序是为
* 从大到小
*/
/**
* 在算该年是否是闰年
*/
if(year%4==0&&year%100!=0||year%400==0){
//如果为闰年那就加一天
sum+=1;
}
//再加上输入的天数
sum+=day;
System.out.println(sum+"天");
}