Java 开发月周法

Java 开发月周法,java,methods,Java,Methods,基本上在下面的方法中,我试图说:如果z2不等于0,那么z2-1。否则将6添加到z2。我知道这可能很愚蠢,但我对编程很陌生。守则如下: int z2 = someValue; if(z2 != 0){ z2--; } else{ z2 + 6; } 谢谢您需要将z2分配给else条件中的值: if (z2 != 0) { z2--; // same as z2 = z2 - 1 } els

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

int z2 = someValue;

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

您需要将
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;

它的数学运算是模,在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

对于那些对拉丁语感兴趣的人来说,模实际上被称为运算(名词),但在一个表达式中得到副词结尾
o
(ablativus):“34模7是6”。但是,可以用作名词


z2+6
->
z2=z2+6?您需要指定计算结果,您的问题是什么?应该是
z2+=6
(或者甚至是
z2=6
,因为它始终是
0
)。剩下的我看不出有什么问题。如果不是为了练习:
Calendar.getInstance().get(Calendar.WEEK\u OF u MONTH)
以及从Java 8开始的
LocalDate.now().get(ChronoField.ALIGNED\u WEEK\u OF u MONTH)