java循环轮班

package com.syt.test;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author: Damein_xym
 * @Description:
 * @Date: Create in 2017/11/30 10:01
 * @Modified:
 */
public class Test {

    /**
     * 30天轮班值班,循环值班。
     * @param args
     */
    public static void main(String[] args) {
        int i = 0;
        int x = 30;//一个月的总天数
        List<Long> empList = new ArrayList<Long>();//值班总人数
        empList.add(100L);
        empList.add(200L);
        empList.add(300L);
        empList.add(400L);
            for (int j = 0; j <= x; j++) {
                for (int k = 0; k <= empList.size() - 1; k++) {
                    Long empId = empList.get(j);
                    //获取OA人员标编号、值班类别ID、值班类别名称、OA人员姓名、日期、状态
                    System.out.println(empId + ":" + (i + 1));
                    i++;
                    break;
                }
                if (j == empList.size() - 1) {
                    //判断j的值,重复循环
                    j = -1;//因为j++,数组从0开始取值,所以j=-1,
                }
                if (i == x) {
                    break;
                }
                continue;
            }

    }
}

控制台输出:

100:1
200:2
300:3
400:4
100:5
200:6
300:7
400:8
100:9
200:10
300:11
400:12
100:13
200:14
300:15
400:16
100:17
200:18
300:19
400:20
100:21
200:22
300:23
400:24
100:25
200:26
300:27
400:28
100:29
200:30

原文地址:https://www.cnblogs.com/xymBlog/p/7940254.html