package duty;
import java.util.Calendar;
import java.util.Date;
/**
* 自动排班
**/
public class AutoScheduleDuty {
public static void main(String[] args) {
//班组
String[] dutyArr = {"A组","B组","C组","D组"};
int dutyNum=dutyArr.length;
//日期
int days = getDaysOfMonth(new Date());
//班次
String[] classArr = {"早班","中班","晚班"};
int classNum = classArr.length;
int allClass=0;
for (int i=1; i<=days; i++) {
System.out.println(i+"号排班:");
for (int j=1; j<=classNum; j++) {
//总排班数加1
allClass++;
int temp = allClass%dutyNum;
//班组下标,确定取哪个班组
int tempSub = temp-1;
//如果整除,取最后一个班组
if(temp==0){
tempSub=dutyNum-1;
}
System.out.println(classArr[j-1]+"-"+dutyArr[tempSub]);
}
}
System.out.println("值班排班次数:"+allClass);
}
/**
* 获取某个月的天数
* @param date
* @return
*/
public static int getDaysOfMonth(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
}
}