用java编程100道问题//11三天打渔两天晒网

三天打鱼两天晒网

题目描述
Tom也是一个ACM爱好者,从2000年1月1日就开始了ACM/ICPC的练习,一直坚持到现在。可惜的是,他一直采用的是这种“三天打渔两天晒网”的训练方式,也就是说,每做三天的训练,一定会休息两天,如此反复,直到今天。

现在的问题是:给你一个日期,你能计算出这一天Tom是在训练还是休息吗?

输入
输入数据首先包含一个整数T(T<=20),表示有T组测试数据,然后是T行,每行包含一个格式如“YYYY/MM/DD”的日期,题目保证所有日期在2000年1月1日和今天之间

输出
对于每个测试用例,如果Tom在这一天是训练,则请输出“Fishing”,否则,请输出“Resting”。

样例输入 Copy
2
2000/01/03
2000/01/04
样例输出 Copy
Fishing
Resting

import java.util.*;
public class Main{
public static void main(String[] args){
	Scanner scan=new Scanner(System.in);
 	int N=scan.nextInt();
 	while(scan.hasNext()){
 	for(int i=0;i<N;i++){
 	String S=scan.next();
 	int a=Integer.parseInt(S.substring(0,4));/*年*/
 	int b=Integer.parseInt(S.substring(5,7));/*月*/
 	int c=Integer.parseInt(S.substring(8,10));/*日*/
 	int sum=0;
 	for(int j =2000;j<=a-1;j++){/*这年之前有几天*/
		if(j%4==0&&j%100!=0||j%400==0){
			sum+=366;
			}else{
			sum+=365;
			}
	}
 	int[] ryear={31,29,31,30,31,30,31,31,30,31,30,31};
 	int[] pyear={31,28,31,30,31,30,31,31,30,31,30,31};
 	if(a%4==0&&a%100!=0||a%400==0){
 		for(int k=0;k<b-1;k++)
 			sum+=ryear[k];
 	}
 	else {
 		for(int x=0;x<b-1;x++)
 			sum+=pyear[x];
 	}
 	int count=sum+c;
 	if(count%5==3||count%5==2||count%5==1)
 		System.out.println("Fishing");
 	else
 		 System.out.println("Resting");
	}
 	}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值