Не понимаю, в чём проблема. Тестирую всех на датах, выводит все правильно, но условие "Метод isDateOdd() должен возвращать true, если количество дней с начала года - нечетное число, иначе false" провалено. Кто-то понимает, чего они хотят?
package com.javarush.task.task08.task0827;
/*
Работа с датой
1. Реализовать метод isDateOdd(String date) так, чтобы он возвращал true, если количество дней с начала года - нечетное число, иначе false
2. String date передается в формате FEBRUARY 1 2013
Не забудьте учесть первый день года.
Пример:
JANUARY 1 2000 = true
JANUARY 2 2020 = false
Требования:
1. Программа должна выводить текст на экран.
2. Класс Solution должен содержать два метода.
3. Метод isDateOdd() должен возвращать true, если количество дней с начала года - нечетное число, иначе false.
4. Метод main() должен вызывать метод isDateOdd().
*/
import java.text.DateFormat;
import java.text.DateFormatSymbols;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Solution {
private static final String[] months = new String[]{
"JANUARY",
"FEBRUARY",
"MARCH",
"APRIL",
"MAY",
"JUNE",
"JULY",
"AUGUST"
};
public static void main(String[] args) throws ParseException {
System.out.println(isDateOdd("FEBRUARY 1 2013"));
}
public static boolean isDateOdd(String date) throws ParseException {
Calendar cal = Calendar.getInstance();
DateFormatSymbols dateFormatSymbols = DateFormatSymbols.getInstance();
dateFormatSymbols.setMonths(months);
DateFormat df = new SimpleDateFormat("MMMMMMMM dd yyyy", dateFormatSymbols);
Date parsedDate = df.parse(date);
cal.setTime(parsedDate);
return (cal.get(Calendar.DAY_OF_YEAR) & 1) == 1;
}
}