簡體   English   中英

我怎樣才能簡化這個 if 語句?

[英]How can I simplify this if statement?

基本上,我正在為學校做一個java程序。 我們需要使用的 checkstyle 程序表明我沒有充分簡化 if 語句。 有一個更好的方法嗎?

我的代碼:

    if (check() == true)
    {
        return amount * 0.85;
    }
    else
    {
        return amount;
    }

當您已經在使用布爾值時,無需添加== true

if (check()) {
...
}
else {
...
}

您可以使用三元運算符。

return check() ? amount * 0.85 : amount

將布爾值轉換為整數,然后將其用作數組的索引 int 以獲取要乘以amount的值,並且您不需要if或三元運算符:

return amount * (new double[] {1.0, 0.85}[Boolean.compare(check(), false)]);

我在開玩笑,請不要貶低我。 這是我能想到的最糟糕的方法。

嚴肅地說,樣式檢查程序主要關心你的表達式有多復雜以及有多少潛在的分支(圈復雜度),所以刪除else ,不要比較truetrue以獲得true ,這應該足以使它快樂。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM