2017-07-03 17 views
0

any1は自分のコードに何が間違っているか教えていただけますか?私は間違った出力を得ています。乾杯入力日に基づいて曜日を取得する

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

を受け入れるよう

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

に変更できますか? – Ravi

+1

"私は間違った出力を得ています" - 入力、予想される出力または実際の出力を知らずに、助けが非常に困難です。私の推測では、あなたは0ベースの月を使用していないということです。 'java.time'やthreetenバックポートを使用する可能性がある場合、' java.util.Calendar'よりも問題が起こりにくいことに注意してください。 –

+0

[特定の日付を渡して曜日を特定する方法]の複製がありますか?(https://stackoverflow.com/questions/5270272/how-to-determine-day-of-week-by-passing-specific-date) – Chris

答えて

5

ドキュメントを読み、それがゼロベースのインデックスを出力し、何を期待されているもの

+0

..ゼロベースのインデックスを受け入れるようになっていませんでした。ここには何もありませんでした。 – Akshay

+0

ライブデモをご覧ください - https://ideone.com/clzze9 –

+1

1月== 0、2月== 1など –

関連する問題