Данная утилита является воссозданным решением задания с чемпионата в компетенции "Программные решения для бизнеса" в домашних условиях с небольшими доработками.
Разработайте библиотеку (отдельным проектом), которая позволит вернуть список
свободных временных интервалов (заданного размера) в графике сотрудника подразделения.
Необходимо обязательно следовать правилам именования библиотек, классов и методов в
них. В случае ошибок в рамках именования ваша работа не может быть проверена и ваш результат
не будет зачтен. Классы и методы должны содержать модификатор public (если это реализуемо в
рамках платформы), чтобы внешние приложения могли получить к ним доступ.
Вход:
● список занятых промежутков времени (в двух массивах: startTimes - начало, durations -
длительность),
● минимальное необходимое время посетителя (consultationTime),
● рабочий день сотрудника (начало - beginWorkingTime и завершение - endWorkingTime)
Выход:
● список подходящих свободных временных промежутков (в массив строк формата
HH:mm-HH:mm)
Библиотека классов - SF2023User{NN}Lib.jar
Название класса:
Calculations
Название метода:
availablePeriods()
Входящие обязательные параметры:
LocalTime[] startTimes,
int[] durations,
LocalTime beginWorkingTime,
LocalTime endWorkingTime,
int consultationTime
Возвращаемые параметры:
String[]
Вход | Выход |
---|---|
startTime duration | 08:00-08:30 |
10:00 60 | 08:30-09:00 |
11:00 30 | 09:00-09:30 |
15:00 10 | 09:30-10:00 |
15:30 10 | 11:30-12:00 |
16:50 40 | 12:00-12:30 |
Working Times | 12:30-13:00 |
08:00-18:00 | 13:00-13:30 |
Consultation Time | 13:30-14:00 |
30 | 14:00-14:30 |
. | 14:30-15:00 |
. | 15:40-16:10 |
. | 16:10-16:40 |
. | 17:30-18:00 |