Loading...
shady_obeyd avatar shady_obeyd 50 Точки

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

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

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

alextr avatar alextr 60 Точки
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 356 Точки

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

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

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

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

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

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

0
shady_obeyd avatar shady_obeyd 50 Точки

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

0
06/12/2017 22:54:59
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.