如果定义闰年和平年两个数组,那么问题就不用考虑+1问题,如果定义的是一个数组,则需要分闰年的时候月份大于三的情况下,就总天数+1.
分析:
1.先定义一个数组(如果两个则+1没有意义,不过结果一样),存放12个月每个月的天数
2.利用if判断平年还是闰年
import java.util.Scanner;
public class Arry9 {
public static void main(String[] args) {
//将闰年和平年的每个月的天数作成两个数组
int[]ping={31,28,31,30,31,30,31,31,30,31,30,31};
//先判断闰年还是平年
Scanner sc=new Scanner(System.in);
System.out.println("请输入年份:");
int year=sc.nextInt();
int sum=0;
if(year%4==0&&year%100!=0||year%400==0){
System.out.println(year+"年是闰年");
System.out.println("请输入月份:");
int yue=sc.nextInt();
System.out.println("请输入某日:");
int ri=sc.nextInt();
if(yue<=3){
for(int i=0;i<yue-1;i++){
sum+=ping[i];
}System.out.println("本年的第"+(sum+ri)+"天");}
else if (yue>3&&yue<13)
{for(int i=0;i<yue-1;i++){
sum+=ping[i];
}System.out.println("本年的第"+(sum+ri+1)+"天");}
else
System.out.println("月份输入错误,请重新输入");
}
else{
System.out.println(year+"年是平年");
System.out.println("请输入月份:");
int yue=sc.nextInt();
System.out.println("请输入某日:");
int ri=sc.nextInt();
for(int i=0;i<yue-1;i++){
sum+=ping[i];
}System.out.println("本年的第"+(sum+ri)+"天");
}
}
}
运行结果如下: