基础-------7.星系炸弹

 题目:

在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。

每个炸弹都可以设定多少天之后爆炸。

比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。

有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。

以下程序实现了这一功能,请你填补空白处内容:

提示: json 先判断是否为闰年,这会影响2月份是28还是29,如果是闰年,2月份是29,如果不是,就是28

分析:

每个月份的最大天数是有差异的,所以需要对当前月份判断最大天数:

day > a[month-1]        month++

当月份大于12时就要进入下一个年份

month > 12                year++

当月份是二月时,需要对年份进行判断是平年还是闰年,这会影响2月份是28还是29,如果是闰年,2月份是29,如果不是,就是28

public class _17 {
    public static void main(String[] args) {
        int a[] = new int[]{31,0,31,30,31,30,31,31,30,31,30,31};
        int days = 1000;
        int year=2014, month=11, day=9;

        for(int i=0; i<days; i++)
        {
            day++;
            if(day>a[month-1])
            {
                day=1;
                month++;
                if(month>12)
                {
                    month=1;
                    year++;
                    if((year%400==0)|| (year%4==0 || year%100!=0))
                        a[1]=29;
                    else
                        a[1] = 28;
                }
            }
        }
        System.out.println(year+":"+month+":"+day);
    } 
}

猜你喜欢

转载自blog.csdn.net/weixin_64428129/article/details/126117849