在我上课的项目中,特定方法的正确代码是:
if ((volume % 10) % 6 == 0)
return 0;
else if ((volume % 10) % 6 <= 4)
return 1;
else
return 2;
然而,老师最近添加了一个新条件,声明不允许使用if语句。 到目前为止我所拥有的是:
return ((volume % 10) % 6)/4 + ((volume % 10) % 6 % 4`);
然而它不起作用,((体积%10)%6%4)等于2.(它需要等于1)
我通过将其除以2来修复它,但是当((体积%10)%6%4)等于1时,它会向下舍入为0
任何想法??
答案 0 :(得分:4)
怎么样:
return ((k%10)%6 + 3)/4;
答案 1 :(得分:2)
继承人我会怎么做
从0 ... n运行代码时出现重复模式 模式是:0,1,1,1,1,2,0,1,1,1
//initialize an array with the pattern. This is for javascript.
var a=[0,1,1,1,1,2,0,1,1,1];
return a[(volume%10)];
答案 2 :(得分:-1)
您可以使用三元运算符重写它。条件? true表达式:false表达式。 https://msdn.microsoft.com/en-us/library/ty67wk28.aspx
在下面的代码中,false将是一个新的三元操作。
return (volume % 10) % 6 == 0 ? 0 : ((volume % 10) % 6
<= 4 ? 1 : 2 );
答案 3 :(得分:-1)
讨厌使用漏洞,但
return ((volume % 10 ) % 6 == 0 :0 ? <the sub expressions>)
工作?