我需要爲接受日期的程序創建一個方法,如果有效將添加從01/01/xx到當年日期的所有天數,例如10/1/1999年將顯示「1999年第274天」。我有下面的代碼,但它沒有添加正確的值。不知道我做錯了什麼。在一年中添加天 - Java
public static int dayNumber(int day, int month, int year){
int daysInMonth = 0;
int days = 0;
boolean leapYear = isLeapYear(year);
for(int i = 1; i <= month; i++){
switch(month){
case 1: daysInMonth += 31;
case 2: if(leapYear)
daysInMonth += 29;
else
daysInMonth += 28;
case 3: daysInMonth += 31;
case 4: daysInMonth += 30;
case 5: daysInMonth += 31;
case 6: daysInMonth += 30;
case 7: daysInMonth += 31;
case 8: daysInMonth += 31;
case 9: daysInMonth += 30;
case 10: daysInMonth += 31;
case 11: daysInMonth += 30;
case 12: daysInMonth += 31;
break;
default:
break;
}
while(month <= 12){
days += daysInMonth + day;
month++;
}
}
return days;
}
在每種情況下你都錯過了中斷,但是如果你不需要實現這個功能(比如家庭作業),有一個java功能可以很好地完成這項工作:http:// stackoverflow .com/questions/12525396 /今天是第n天 – luanjot
您可以使用'Calendar.get(Calendar.DAY_OF_YEAR)'?這會爲你節省很多代碼。 –
它是一個類項目,我需要創建我自己的方法,我嘗試過並且沒有休息時間,並且返回的值不正確 –