也許最簡單的方法是將要使用的天陣:
public class Demo {
public static void main(String[] args) {
System.out.println(getDay(1));
System.out.println(getDay(7));
}
// Returns the corresponding day for the given dayCounter.
// Assumes that dayCounter goes from 1-7.
private static String getDay(int dayCounter) {
String[] days = new String[] { "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "Sunday" };
return days[dayCounter - 1];
}
}
如果你的櫃檯必須高於7(例如,你用1在每個定時器一步遞增它),你可能會想有興趣在此版本中,基本上所有可用天循環:
public class Demo {
public static void main(String[] args) {
System.out.println(getDay(1));
System.out.println(getDay(7));
System.out.println(getDay(8));
System.out.println(getDay(13));
}
// Returns the corresponding day for the given dayCounter.
// Maps dayCounter to the range of 1-7, assumes that dayCounter
// goes from 1-Integer.MAX_VALUE.
private static String getDay(int dayCounter) {
String[] days = new String[] { "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "Sunday" };
return days[dayCounter % 7];
}
}
或者你可以使用DateFormatSymbols
檢索平日,讓他們甚至(幾乎)自動翻譯給你:
import java.text.DateFormatSymbols;
public class Demo {
public static void main(String[] args) {
System.out.println(getDay(1));
System.out.println(getDay(7));
}
// Returns the corresponding day for the given dayCounter.
// Assumes that dayCounter goes from 1-7.
private static String getDay(int dayCounter) {
String[] days = DateFormatSymbols.getInstance().getWeekdays();
return days[dayCounter];
}
}
或者對於Java 8和更高版本,目前首選的方法可能是使用新的java.time API(可以使用方法參數)。這個API包含一個方便的DayOfWeek
枚舉。
import java.time.DayOfWeek;
import java.time.format.TextStyle;
import java.util.Locale;
public class Demo {
public static void main(String[] args) {
System.out.println(getDay(1));
System.out.println(getDay(7));
}
// Returns the corresponding day for the given dayCounter.
// Assumes that dayCounter goes from 1-7.
private static String getDay(int dayCounter) {
return DayOfWeek.of(dayCounter)
.getDisplayName(TextStyle.FULL, Locale.getDefault());
}
}
如果你只是想更換if
報表,與switch-case
走在瑞安的答覆中提到。
除非您預計一週的某些時間會改變一些時間,否則最好使用枚舉。 – azurefrog
@azurefrog:我實際上是從一個枚舉開始的,但認爲它可能太複雜了。特別是當已經有一個內置的枚舉爲此目的。不過,總的來說,這是一個有效的點 – Marvin