[Software Technologies] Java Basic Syntax - Exercises - 20.CountWorkingDays - Софтуерен университет

[Software Technologies] Java Basic Syntax - Exercises - 20.CountWorkingDays - Софтуерен университет

+ Нов въпрос
shady_obeyd avatar shady_obeyd 29 Точки

[Software Technologies] Java Basic Syntax - Exercises - 20.CountWorkingDays

Здравейте, може ли помощ с тази задача. Изобщо не са ми ясни датите в джава. Благодарение на ровичкане в Интернет успях да скалъпя това решение, но пак ми докарва едва 57/100.

Благодаря предварително! 

alextr avatar alextr 37 Точки
Best Answer

Ето едно решение от мен, което може да разгледаш. https://pastebin.com/jWNh1p2M 

Това, което съм ползвал вместо Date е LocalDate. В документацията го дават като "a date without a time-zone" и "it is a description of the date, as used for birthdays". Така че ми се стори добър избор и за празнични дни. От там си правя една булева променлива isWeekend, която проверява дали конкретният ден от итерацията на цикъла е събота или неделя. След това имам булевата isHoliday, която да провери дали денят и месецът от цикъла съвпадат с някой от предваритено зададените празници. Ако и 2-те ми променливи са false, значи че денят е работен и го добавям към count. Предполагам най-неприятната част ти е била да налучкаш синтаксиса, поне при мен беше така. Дано това да ти помогне. Успех!

1
Jeliozver avatar Jeliozver 334 Точки

Ето и още едно решение аз пък ползвах Calendar класа.

Голяма лудница са тези класове с датите в Java-та. В дебъгера ми вади месеците както обикновено Януари като 1 и до 12, но като изход ги вади Януари 0 и до 11.

1
06/12/2017 19:16:55
shady_obeyd avatar shady_obeyd 29 Точки

Разгледах решението ти - startDate.get(Calendar.DAY_OF_WEEK) - Това не връща ли int, как успя да го сравниш с Calendar.SATURDAY ?

0
06/12/2017 22:56:44
shady_obeyd avatar shady_obeyd 29 Точки

Ясно, благодаря! :)

0
shady_obeyd avatar shady_obeyd 29 Точки

Благодаря и на двама ви! Тези задачи бяха на път да ме откажат от програмирането. Доста по-тегаво се решават на Java. Може ли само някакво разяснение защо евентуално моето решение не работи ? Навсякъде където видях в интернет уж работело. Да не би просто самия Date клас в Java да е счупен/бъгав ?

0
06/12/2017 22:54:59