如果airCon字段中的airCon为true,则方法printDetails会打印出是的,但是我认为这不是完美的方法,那么还有其他方法吗?

public class Auto
{
    private boolean airCon;
    public Auto() {}
    public void setAirCon(boolean airCon) {
        this.airCon = airCon;
    }

    public void printDetails() {
        String con;
        if(airCon) {
            con = "Yes";
        } else {
            con = "No";
        }
        System.out.println(con);
    }
}

最佳答案

尝试三元:

System.out.println(aircon ? "Yes" : "No");


三元表达式非常适合在一行中根据条件将某物分配给一个值或另一个。您也可以嵌套它们:

bool isConditionTrue, areYouSure;
string answer = isConditionTrue ? areYouSure ? "Yes" : "No" : "No";


用括号更容易阅读:

string answer =  isConditionTrue ? (areYouSure ? "Yes" : "No") : "No";


因此,仅当isConditionTrue布尔值为true时,areYouSure布尔值才被读取。

08-28 17:15