三元运算符在其他部分什么都不做

我试图将三元运算符(对于 int 变量)的 else 部分留空,但我不能这样做,有什么问题?

这是代码

int FemaleCounter=0, MaleCounter =0, StateCounterIn =0 , StateCounterOut =0;

if(arr[0].equals("male") ) {
    MaleCounter ++;
}
if(arr[0].equals("female") ) {
    FemaleCounter ++;
}
if(arr[1].equals("in")) {
    StateCounterIn++;                   
}
if(arr[1].equals("out") ) {
    StateCounterOut++;
}

这是三元运算符形式:-

MaleCounter = arr[0].equals("male") ? MaleCounter++ : ;
FemaleCounter = arr[0].equals("female") ? FemaleCounter++ : ;
StateCounterIn = arr[1].equals("in") ? StateCounterIn++ : ;
StateCounterOut = arr[1].equals("out") ? StateCounterOut++ : ;

感谢您的回答。

回答

        MaleCounter += arr[0].equals("male") ? 1 : 0;
        FemaleCounter += arr[0].equals("female") ? 1 : 0;
        StateCounterIn += arr[1].equals("in") ? 1 : 0;
        StateCounterOut += arr[1].equals("out") ? 1 : 0;

三元表达式必须提供结果。另外 ++ 里面然后分配是矫枉过正的。


以上是三元运算符在其他部分什么都不做的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>