天天看點

天數電腦

天數電腦——5行代碼得到日期,2行代碼得到天數

方法

利用26位數組

溢出位 天數 溢出位 天數
閏年 平年
31,29,31,30,31,30,31,31,30,31,30 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

測試

天數電腦
天數電腦
天數電腦
天數電腦
天數電腦
天數電腦