如何区分可被2整除并被4整除?

时间:2014-11-13 08:27:41

标签: java php c++ c

我想创建一个程序:

第1项,做A,第2项,做B,第3项,做C,第4项,做D,第5项,做A,第6项,做B,第7项做C,对于第8项,做D ....等等。模式就是这样。

现在,我可以区分奇数和偶数,但我怎样才能实现上述目标,这似乎不起作用

            if ( position % 2 == 0) {
                if ( position % 4 == 0) {
                    D();
                } else {
                    B();
                }
            } else {
                if ( position % 3 == 0) {
                    C();
                } else {
                    A();
                }
            }

感谢您的帮助

3 个答案:

答案 0 :(得分:16)

position % 3 == 0

应该是

position % 4 == 3

选择每四个项目中的最后一个。您还需要重新排序函数调用以匹配您的描述;我认为正确的顺序是A,C,D,B。

使用开关代码会更清晰:

switch (position % 4) {
    case 0: A(); break;
    case 1: B(); break;
    case 2: C(); break;
    case 3: D(); break;
}

假设您实际使用的语言支持这样的构造。

答案 1 :(得分:2)

您可以尝试按照

if(position%4==1)
{ 
 A();
}
if(position%4==2)
{ 
 B();
}
if(position%4==3)
{ 
 C();
}
if(position%4==0)
{ 
 D();
}

这只是为了给出一个想法。如果您想使用if-elseswitch-case方法,请根据您的意愿进行更改。

答案 2 :(得分:0)

你可以尝试:

switch (position % 4)
 {
case 0:
 A();
 break;
case 1:
 B();
 break;
case 2:
 C();
 break;
case 3:
 D(); 
break;
}