我正在尝试遍历一系列工作日,其中每个工作日映射到一个 integer (Sunday = 1, Monday = 2, ..., Saturday = 7)
。
范围由 a 定义start and end day
。这对于像这样的开始和结束日来说很好Monday(2) - Thursday(5)
,因为我可以这样做:
for(int i = startDay; i <= endDay; i++) { ... }
当范围在一周的结束和开始时分开时,我遇到了困难,比如Friday(6) - Monday(2)
. 这显然不适用于上述 for 循环 - 例如
for(int i = 6; i <= 2; i++) { ... } // wouldn't even execute once.
我能看到的唯一解决方案是实现某种循环缓冲区,我觉得对于这样一个简单的问题来说这太过分了。我只是被难住了,很可能在这里遗漏了一些明显的东西。我认为解决方案可能与模运算有关,但我不太确定。