基本上,在下面的方法中,我试图说:如果z2不等于0,则z2-1,否则将6加到z2。我知道这可能很愚蠢,但是我对编程还是很陌生的。代码如下:
int z2 = someValue;
if(z2 != 0){
z2--;
}
else{
z2 + 6;
}
谢谢
答案 0 :(得分:1)
您需要将z2
条件中的值分配 else
:
if (z2 != 0) {
z2--; // same as z2 = z2 - 1
}
else {
z2 += 6; // same as z2 = z2 + 6
}
但是我们可以使用三元表达式用一行代码来做到这一点:
z2 = z2 != 0 ? z2 - 1 : z2 + 6;
答案 1 :(得分:0)
该操作的数学运算是模,在Java中,运算符%
是除法运算的余数。
| x | x % 3 |
|-----|-------|
| 6 | 0 |
| 5 | 2 |
| 4 | 1 |
| 3 | 0 |
| 2 | 2 |
| 1 | 1 |
| 0 | 0 |
| -1 | -1 |
| -2 | -2 |
| -3 | 0 |
| -4 | -1 |
使用整数除法/
(5/3 == 1):
y%x == y-x *(y / x)
当其中一侧为负时,请注意符号。
在您的情况下,减量变为:
z2 = (z2 - 1 + 7) % 7;
或简称
z2 = (z2 + 6) % 7;
已经注意到%
的左侧保持正值。然后结果在0 .. 6
中。
对于那些对拉丁语 modulus 感兴趣的人实际上称为运算(名词),但在表达式中会得到副词结尾
o
(阿拉伯语):“ 34模7是6“ 。但是取模可以很好地用作名词。