这个面试题主要考察的是你对时间类的使用以及逻辑思维能力。
题目:从1919-01-19开始,你每天按照三天打渔两天晒网的规则工作,问今天你是应该打渔还是应该晒网?
代码如下:
@Test
public void testFish() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 开始时间
Date startDate = sdf.parse("1919-01-19");
// 当前时间
Date curDate = new Date();
// 计算总天数
int countDay = (int) ((curDate.getTime() - startDate.getTime()) / (1000 * 60 * 60 * 24) + 1);
// 五天一循环,计算当前是五天中的第几天
if(countDay % 5 == 1 || countDay % 5 == 2 || countDay % 5 == 3) {
System.out.println("今天应该打渔。");
} else if(countDay % 5 == 4 || countDay % 5 == 0) { // 如果是第五天,取模5得到的是0,注意下。
System.out.println("今天应该晒网。");
}
}