是否有通过循环创建四次 1 - 12 块的最佳方法

Is there a best approach to create four times 1 - 12 blocks through a loop

有一个循环将计数器递增 48 次以将某些值写入 Excel 文件。 在1 - 48的范围内,要写入1 - 12的4个块。

预期示例: 1 2 3 4 5 6 7 8 9 10 11 12 - 1 2 3 4 5 6 7 ...等等(4次)。

我尝试了不同的方法,if/else,switch/case,但在这里我没有得到任何结果。 我最后的方法是使用 modolu 运算符的 if 条件。

        for (int i = 1; i <= 48; i++) {
        if (i % 12 != 0) {
            for (int j = 1; j <= 12; j++) {
                workBook.setNumber(HEADLINE_ROW, i + 6, j);
            }
        } else {
            workBook.setNumber(HEADLINE_ROW, i + 6, 12);
        }
    }

但是通过这种方法我得到了 12 12 12 12 等等。 我认识到错误,但目前不知道如何解决问题。数据写入 Excel 文件的部分并不重要。我关心逻辑。

我被困在了这里的逻辑中,不能再进一步了。对于我如何并排生成四个 1 - 12 块,您有任何改进的想法或建议吗?

我想你想要的伪代码是:

for (int i=1; i <= 48; i++) {
    int j = i % 12 + 1;  // 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 ...
    // do something with i and (j + 1)
}

也就是说,使用外循环计数器 mod 12,这会给你序列 1, 2, ..., 12, 次。

做那样的事

python

for i in range(48):
  index = i % 12 + 1
  # do what ever you want here
  print(index)

java

for(int i = 0; i < 48; i++) {
    int index = i % 12 + 1;
    // do something here
}