use*_*866 2 java date dayofweek java.util.calendar
下面的代码有什么问题?它为一年中的任何日期提供错误的日期。
import java.util.Scanner;
import java.util.Calendar;
public class Solution {
public static String getDay(String d, String m, String y) {
String[] days = {"SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"};
Calendar c = Calendar.getInstance();
c.set(Integer.parseInt(y), Integer.parseInt(m), Integer.parseInt(d));
return days[c.get(Calendar.DAY_OF_WEEK) - 1];
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String m = in.next();
String d = in.next();
String y = in.next();
System.out.println(getDay(d, m, y));
}
}
Run Code Online (Sandbox Code Playgroud)
请参阅Calendar
该类的文档:https : //docs.oracle.com/javase/8/docs/api/java/util/Calendar.html#set-int-int-int-
月份的值是 0 索引的,因此如果您提供3
月份值,它会被解释为“四月”。