Input:
08 05 2015
Output:
WEDNESDAY
非常陽春的解法:(且不考慮到很過去的年份)
public class Solution { public static String getDay(String day, String month, String year) { /* * Write your code here. */ int y=0, m=0, d=0, c=0, w=0; String weekday=""; d = Integer.parseInt(day); y = Integer.parseInt(year.substring(2,4)); c = Integer.parseInt(year.substring(0,2)); m = Integer.parseInt(month); if(m == 1){ m = 11; y--; }else if(m == 2){ m = 12; y--; }else{ m = m-2; } w = (int)(d+(2.6*m -0.2)+(5*(y%4))+3*y+(5*(c%4)))%7; //System.out.println("y="+y+ ", d="+d+", m="+m+", c="+c+", w="+w); switch(w){ case 0: weekday= "SUNDAY"; break; case 1: weekday= "MONDAY"; break; case 2: weekday= "TUESDAY"; break; case 3: weekday= "WEDNESDAY"; break; case 4: weekday= "THURSDAY"; break; case 5: weekday= "FRIDAY"; break; case 6: weekday= "SATURDAY"; break; } return weekday; } public static void main(String[] args) { Scanner in = new Scanner(System.in); String month = in.next(); String day = in.next(); String year = in.next(); System.out.println(getDay(day, month, year)); } }
參考: