完整代碼示例
import java.util.*;
public class DayOfWeekDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("請輸入年 月 日(如 2024 5 20):");
int year = sc.nextInt();
int month = sc.nextInt(); // 1-12
int day = sc.nextInt();
Calendar cal = Calendar.getInstance();
// Calendar 月份從 0 開始
cal.set(year, month - 1, day);
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
// 1=星期日, 2=星期一 ... 7=星期六
String[] weeks = {"", "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
System.out.println("該日期是:" + weeks[dayOfWeek]);
}
}
關鍵點提示
Calendar.getInstance() 獲取單例實例(實為工廠方法返回具體子類)。
set(year, month, day) 中月份參數為 0-11,需 -1。
Calendar.DAY_OF_WEEK 返回常量,對應 1(日)-7(六)。
- Java 8+ 建議使用
java.time.LocalDate:LocalDate.of(y,m,d).getDayOfWeek() 更簡潔且線程安全。