基本 -------- 7. ギャラクシーボム

 トピック:

銀河Xの広大な空間には、宇宙の道しるべとなる人工の「爆弾」が多数浮遊している。

各爆弾は爆発する何日前に設定できます。

たとえば、アルファ爆弾は 2015 年 1 月 1 日に設置され、そのタイミングは 15 日後、2015 年 1 月 16 日に爆発します。

2014 年 11 月 9 日に 1000 日のタイミングで設置されたベータ爆弾があります。正確な爆発日を計算してください。

次のプログラムはこの機能を実現します。空白を埋めてください。

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

分析します:

各月の最大日数は異なるため、当月の最大日数を判断する必要があります。

日 > [月-1] 月++

月が 12 を超えると翌年に入ります

月 > 12 年++

月が2月の場合、その年が平年なのか閏年なのかを判断する必要があります。这会影响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