目前我发现使用( starting index + size of array + 1 ) % size of array
将使我能够将圆形数组从0索引到N(数组大小为1)。
目前我正在使用它从特定月份(即6 = 7月)循环months
。但问题是这种方法也打印0,这不是正确月份(1 - 12)的一部分。我知道我可以用if else语句来做到这一点但是如果可能的话我只想修改( starting index + size of array + 1 ) % size of array
公式以适应我的需要(如果可能的话)。
答案 0 :(得分:1)
怎么样:
starting index % size of array + 1
答案 1 :(得分:1)
如果你说6 = July
那么0 = January
和0似乎很可能是一个完全有效的值。
如果你想说7 = July
,那么我实际上建议你简单地使你的数组索引从0到11而不是1-12。当在与用户和内部接口之间进行切换时,您将在零和一个基于索引之间进行转换。
答案 2 :(得分:0)
如果你有一个增量变量i
并且你做了i % N
之类的事情,你会得到从0到N-1的循环值:0,1,2,...,(N -1),0,1,2,...,(N-1)
因此,如果您想从1开始,则必须为该结果添加1:
(i % N) + 1