Hi everyone. I'm trying to write a program that creates an employee "on call" list for hourly workers. There are four crews: each works 4 12 hour shifts in a row, then gets four days off, rotating between working days and nights. While not working, three employees are on call each day and another three each night, rotating through the two crews who are not working. My goal is to generate a list of the employees who are on call for each shift that looks like this:
I am storing crew names in text files, then reading them into String arrays using BufferedReader. I wrote an array to cycle the next employee to the top of the list for each shift, I am using Joda Time to cycle through each date, and I have formatted the output to print out as shown above. Basically, my problem is finding a way to calculate which crews are on call and which are working for a given shift/week/month. Does anyone have a suggestion for calculating this?