当布尔值为true时返回String值

时间:2013-12-28 16:26:22

标签: java boolean return-value

我正在做一些任务,我偶然发现了一些我似乎无法修复的事情。

所以我创建了一个包含一周中所有日期的枚举类,并给它们一个相应的参数来输出内部枚举的String值。

public enum Day{ Monday("monday");}

然后我将String设置为我的枚举结果并为它做了一个构造函数。

private final String day;

Day (String aDay) { this.day = aDay; }

现在我必须制作一种方法来检查它是否是工作日,或者是否是周末的某一天。我不得不为此使用布尔值。

    private boolean isWeekday() {
    if (this.getDay().equals("saturday") || this.getDay().equals("sunday")) {
        return false;
    } else {
        return true;
    }
}

现在这部分是我现在正在努力的地方。我不得不制作一个返回日期的toString方法,如果它是工作日的话。

输出应该是这样的:

星期一(平日) 要么 周日(周末)

我的方法“isWeekday”显然只会在此时返回true或false。我怎么能让它在工作日打印出来,当它是真的和周末时它是假的?

    public String toString() {
    return String.format("%s(%s)", this.getDay(), ??;
}

先谢谢,我试过搜索Google,但我没有取得任何成功。

1 个答案:

答案 0 :(得分:3)

您可以使用三元运算符(也称为条件运算符):

public String toString() {
    return String.format("%s(%s)", this.getDay(), isWeekDay() ? "(weekday)" : "(weekend)");
}

相关部分:

isWeekDay() ? "(weekday)" : "(weekend)"

这基本上导致了

if(isWeekDay()) { 
    return "(weekday)";
} else {
    return "(weekend)";
}