题意:
输入年份,求五一假期一共放多少天假。五一假期默认5天,如果5月1号星期一,那么它之前有星期六星期天两天假期,
假期总长度就变成5+2,五一假期结束第二天也需要判断是不是假期。
思路:
使用Java的calendar类,输入年份后判断5月1号是这周的第几天,再判断五一假期的之前和之后是不是周末。
1 import java.util.Calendar; 2 import java.util.Scanner; 3 4 public class Main { 5 6 public static void main(String[] args) { 7 Scanner scanner=new Scanner(System.in); 8 int n=scanner.nextInt(); 9 while(n-->0) 10 { 11 int year=scanner.nextInt(); 12 Calendar calendar=Calendar.getInstance(); 13 calendar.set(year, 4, 1);//月份起始是0,而不是1 14 int fir=calendar.get(Calendar.DAY_OF_WEEK); 15 16 // System.out.println(fir); 17 int res=5;//默认5天假期 18 19 if(fir==1)//星期天 20 res++; 21 else if(fir==2)//星期一 22 res+=2; 23 24 int tail=(fir+5)%7; 25 26 if(tail==0) 27 tail=7; 28 // System.out.println("tail"+tail); 29 if(tail==7)//星期六 30 res+=2; 31 else if(tail==1)//星期天 32 res++; 33 System.out.println(res); 34 } 35 } 36 37 }