12个块

5jvtdoz2  于 2021-06-27  发布在  Java
关注(0)|答案(2)|浏览(316)

有一个循环将计数器递增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,以此类推。我认识到错误,但目前不知道如何解决问题。将数据写入excel文件的部分相当不重要。我关心逻辑。
我被困在这里的逻辑,不能再进一步。你有什么想法或建议,以改善如何我可以产生四个1-12街区并排?

9cbw7uwe

9cbw7uwe1#

我认为你想要的伪代码应该是:

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,四次。

c86crjj0

c86crjj02#

做那样的事
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
}

相关问题