天数计算器——5行代码得到日期,2行代码得到天数 方法
利用26位数组
溢出位 天数 溢出位 天数0 闰年 0 平年
0 31,29,31,30,31,30,31,31,30,31,30 0 31,28,31,30,31,30,31,31,30,31,30,31
溢出位用来处理1月的特殊情况,减少判断的代码行数
代码主要部分
int []arr = new int[]{0,31,29,31,30,31,30,31,31,30,31,30,31,0,31,28,31,30,31,30,31,31,30,31,30,31}; //得到日期 for(int i = 0;i < 12; i++){ sum += arr[i + leap]; if(days - sum > 0 && days - sum <= arr[i + leap+1]){ System.out.println(years+"年的第 "+days+"天是 "+ (i+1) + "月 " + (days-sum) +"日"); break; } } //得到天数 for(int i = 0; i < mon; i++){ sum += arr[i+leap]; }完整代码:
https://github.com/947104238/-DaysCalsulate/blob/master/DayCalculate.java