在Java中缺少从bool到整数的自动转换

时间:2011-09-02 14:33:28

标签: java c

Java中C y -= m < 3;的等价物是什么?这是Sakamoto's algorithm的一部分。

6 个答案:

答案 0 :(得分:14)

像这样:

if (m < 3) {
   y--;
}

答案 1 :(得分:6)

你可以写

y -= m < 3 ? 1 : 0;

答案 2 :(得分:1)

你试过吗

y -= ( m < 3 ? 1 : 0 );

答案 3 :(得分:1)

试试这个:( java中没有转换boolean到int)

y -= (m<3)?1:0;

答案 4 :(得分:1)

如果m小于3,即月份为1月或2月,则该语句从y中减去1。有几种方法可以在java中编写代码,例如:

if (m<3) y = y-1;
if (m<3) --y;
y = (m<3)? y-1 : y;
y -= (m<3)? 1 : 0;

其中第一个或第二个可能是最清楚的。

答案 5 :(得分:0)

如果您希望对其进行一些模糊处理,可以执行y -= m < 3 ? 1 : 0;