如果这个问题看起来非常荒谬,我很抱歉。
我无法找到解决此问题的最佳方法。
这是代码中的基本思想:
int iterator = 0;
if ((iterator % 2) == 1){
// do first option
iterator++;
return;
} else if ((iterator % 2) == 0){
// do second thing
iterator++;
return;
} else if ((iterator % 3) == 0){
// do third option
iterator++;
return;
} else{
// error
return;
}
本质上,该函数将每秒调用一次(它是Pebble的watchapp)。
我可以获得前两个选项,但我遇到了第三个的问题。我认为这是因为%3太模糊了。
你们怎么会接近这个?
答案 0 :(得分:4)
你永远不会得到第三个选项,因为迭代器%2可以是0或1。
答案 1 :(得分:4)
这就是你要追求的吗?
if ((iterator % 3) == 0){
// do first option
} else if ((iterator % 3) == 1){
// do second thing
} else if ((iterator % 3) == 2){
// do third option
}
iterator++;
这可以重写为:
switch (iterator++ % 3) {
case 0:
// first option
break;
case 1:
// second option
break;
case 2:
// third option
}
答案 2 :(得分:1)
%2只会给你两个选项。
您也可以尝试不同的结构
switch ( iterator%3 )
{
case 0: // option 0
break;
case 1: // option 1
break;
case 2: // option 2
break;
default:
break;
}
++iterator;