Пишет : Метод isDateOdd() возвращает неверное значение. Протестируй его работу с разными датами.
Вроде всё норм...
public class Solution {
public static void main(String[] args) throws ParseException {
System.out.println(isDateOdd("May 4 2013"));
}
public static boolean isDateOdd(String date) throws ParseException {
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMM d yyyy",Locale.ENGLISH);
LocalDate localDate = LocalDate.parse(date,dtf);
int b = localDate.getDayOfYear(); <<--- тут получается 124 дня с начала года.
if (b % 2 == 0){
return false;
}else {
return true;
}
Nordis
28 уровень
Что не нравиться то ему?
Обсуждается
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Влад ИвановQA Automation Engineer в Сбер Лизинг
28 февраля 2019, 21:48
Советую внимательно пробежаться дебагом, посмотрите что получается в localDate, а так же советую лучше использовать SimpeDateFormat и обычный класс Date.
0
IceBergMaster
28 февраля 2019, 21:47
MMM - это сокращенное название месяца
0
Влад ИвановQA Automation Engineer в Сбер Лизинг
28 февраля 2019, 21:49
на счет МММ и с этим проходит
0
IceBergMaster
28 февраля 2019, 21:55
Ну там ещё проблема, что по условию месяц приходит в верхнем регистре, так что парсинг прогорит что так, что так.
0
Влад ИвановQA Automation Engineer в Сбер Лизинг
28 февраля 2019, 22:05
Ну условия как и всегда нужно подгонять под валидатор)
0
NordisExpert
28 февраля 2019, 22:34
С верхнем ригистром я напарился дай боже). Долго не понимал почему не парсит.=)
Поэтому просто заменил, С MAY на May. и всё гуд)
0
IceBergMaster
1 марта 2019, 00:43
В смысле просто заменил?) На проверку приходят данные в верхнем регистре, как ты не крути)
0
NordisExpert
1 марта 2019, 05:00
Хаха , так может быть в этом и проблема. Вечером приду переделаю код .
0