我正在做一些任务,我偶然发现了一些我似乎无法修复的事情。
所以我创建了一个包含一周中所有日期的枚举类,并给它们一个相应的参数来输出内部枚举的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,但我没有取得任何成功。
答案 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)";
}