制定每月的周法

时间:2018-10-12 08:43:04

标签: java methods

基本上,在下面的方法中,我试图说:如果z2不等于0,则z2-1,否则将6加到z2。我知道这可能很愚蠢,但是我对编程还是很陌生的。代码如下:

int z2 = someValue;

    if(z2 != 0){
        z2--;
        }
    else{
         z2 + 6;
        }

谢谢

2 个答案:

答案 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“ 。但是取模可以很好地用作名词。