本帖最后由 fw347969680 于 2013-05-10 11:25:26 编辑

解决方案 »

  1.   


    //当前人数
    String [] personnels = new String[]{"老大","老二","老三","老四","老五"};

    //N个人一组
    int rules = 2; //一天N个轮班
    int shift = 2;

    //游标
    int num = 0;

    for(int i=1;i<=12;i++){
    String personnel = "";
    for(int k=1;k<=shift;k++){
    String value = "第"+k+"班 由";
    for(int j=0;j<rules;j++){
    value += personnels[num]+"和";
    num++;

    if(num>=personnels.length)
    num=0;
    }
    personnel += value.subSequence(0, value.length()-1)+"执勤    ";

    System.out.println(i+"月份:"+personnel);
    }1月份:第1班 由老大和老二执勤    第2班 由老三和老四执勤    
    2月份:第1班 由老五和老大执勤    第2班 由老二和老三执勤    
    3月份:第1班 由老四和老五执勤    第2班 由老大和老二执勤    
    4月份:第1班 由老三和老四执勤    第2班 由老五和老大执勤    
    5月份:第1班 由老二和老三执勤    第2班 由老四和老五执勤    
    6月份:第1班 由老大和老二执勤    第2班 由老三和老四执勤    
    7月份:第1班 由老五和老大执勤    第2班 由老二和老三执勤    
    8月份:第1班 由老四和老五执勤    第2班 由老大和老二执勤    
    9月份:第1班 由老三和老四执勤    第2班 由老五和老大执勤    
    10月份:第1班 由老二和老三执勤    第2班 由老四和老五执勤    
    11月份:第1班 由老大和老二执勤    第2班 由老三和老四执勤    
    12月份:第1班 由老五和老大执勤    第2班 由老二和老三执勤