三元运算符帮助Java

时间:2014-09-12 06:00:40

标签: java eclipse ternary-operator

  public int getCurrentRemainingCr() {
        return (currentEarnedCr >= 120)?(REQUIRED_CR - currentEarnedCr):0;

我尝试使用三元运算符代替if-else ...基本上我的if-else暗示如果当前信用大于或等于120,则将cred设置为0。代码虽然仍然在junit中的测试方法中引起问题。

2 个答案:

答案 0 :(得分:5)

你的错误方法是你的真假结果。

三元运算符是:

(something) = (condition) ? (value if true) : (value if false);

因此"如果当前信贷大于或等于120,则将剩余的债券设定为0"将完成:

return (currentEarnedCr >= 120) ? 0 : (REQUIRED_CR - currentEarnedCr);

答案 1 :(得分:0)

您必须更改订单

更改

return (currentEarnedCr >= 120)?(REQUIRED_CR - currentEarnedCr):0;   

return (currentEarnedCr >= 120)?0:(REQUIRED_CR - currentEarnedCr);

为什么?

Ternary Operator

 result = someCondition ? value1 : value2;

如果someCondition true result成为value1,则result成为value2