2017-07-03 82 views
0

任何一個可以告訴我我的代碼有什麼問題嗎?我得到一個不正確的輸出。乾杯基於輸入日期檢索星期幾

public static void main(String[] args) { 
    Scanner in = new Scanner(System.in); 
    String[] days={"SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"}; 
    int month = in.nextInt(); 
    int day = in.nextInt(); 
    int year = in.nextInt(); 
    Calendar c = Calendar.getInstance(); 
    c.set(Calendar.YEAR, year); 
    c.set(Calendar.MONTH, month); 
    c.set(Calendar.DAY_OF_MONTH, day); 
    int day_of_week = c.get(Calendar.DAY_OF_WEEK)-1; 
    System.out.println(days[day_of_week]); 
} 
+1

的輸出是什麼,什麼是預期? – Ravi

+1

「我得到一個不正確的輸出」 - 在不知道輸入,預期輸出或實際輸出的情況下,很難提供幫助。我的猜測是你沒有使用基於0的月份。請注意,如果您可能使用'java.time'或threeten backport,這可能會比'java.util.Calendar'造成更少的問題。 –

+0

[如何通過傳遞特定日期來確定星期幾?](https://stackoverflow.com/questions/5270272/how-to-determine-day-of-week-by-passing-specific-date) – Chris

回答

5

閱讀文檔,然後切換到

c.set(Calendar.MONTH, month -1); 

,因爲它接受一個從零開始的索引

+0

..我沒有得到,因爲它接受一個基於零的索引...這裏丟失了什麼 – Akshay

+0

看到現場演示 - https://ideone.com/clzze9 –

+1

一月== 0,二月== 1 etc –