ZOJ 3876 JAVA

题意:

输入年份,求五一假期一共放多少天假。五一假期默认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 }

 

上一篇:将军令:贪心算法


下一篇:FreeSql使用WithSql+ ToSQL 查询数据