Java 开发月周法
基本上在下面的方法中,我试图说:如果z2不等于0,那么z2-1。否则将6添加到z2。我知道这可能很愚蠢,但我对编程很陌生。守则如下: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
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)