Hi следующий метод не совсем работа:Как рассчитать день в году метод правильно
public static int dayInYear(int day, int month, int year) {
// Returns the number (1.. 366) of the day on which day/month/year falls
int dayNumber = (month - 1) * 31 + day;
if (month > 2) {
dayNumber = dayNumber - ((4 * month + 23)/10);
if (isLeapYear(year)) dayNumber++;
}
return dayNumber;
} // dayInYear
с
public static boolean isLeapYear(int year)
{
return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0);
}
Когда я положил его в программу он компилирует, но не дает права ответ Я проверил стол, и проблема в дневном режиме. Метод
Например: 5 февраля 2009 года должно получиться 36, но я получаю 122
Любое понимание для правильного метода ценится ...
Ну, я просто пробежал по нему рукой ... и это работает ... Я не понимаю, что вы переходите в метод. это должно быть .. 'dayInYear (5, 2, 2009);', который вернет 36, потому что он будет делать только первый оператор – 3kings
Теперь встроен в Java: 'LocalDate :: getDayOfYear'. См. [Ответ Хетгером] (http://stackoverflow.com/a/39421701/642706). –