迭代月份时使用的圆形数组公式

Circular array formula used in iterating months

本文关键字:数组 迭代      更新时间:2023-10-16

目前我发现使用( starting index + size of array + 1 ) % size of array将使我能够将圆形数组从0索引到N(数组的大小- 1)。

目前我使用这个来循环months从一个特定的月份(即6 = 7月)。但问题是这种方法也打印0,这不是正确月份(1 - 12)的一部分。我知道我可以用if else语句做到这一点,但如果可能的话,我只是想修改( starting index + size of array + 1 ) % size of array公式以适应我的需要,如果可能的话。

如果你说的是6 = July,那么看起来很可能0 = January和0实际上是一个完全有效的值。

如果你的意思是说7 = July,那么我实际上建议简单地将数组索引从0-11而不是1-12。当在用户接口和内部接口之间进行更改时,您需要在基于0和1的索引之间进行转换。

如何:

starting index % size of array + 1

如果您有一个增量变量i并且您执行类似i % N的操作,您将获得从0到N-1的循环值:0,1,2,…,(N-1),0,1,2,…,(N-1)

因此,如果你想从1开始,你必须在结果上加1:

(i % N) + 1