是否有通过循环创建四次 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
}
有一个循环将计数器递增 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
}