黑色星期五
题目概述
黑色星期五源于西方的宗教信仰与迷信: 耶稣基督死在星期五,而13是不吉利的数字.两者的结合令人相信当天会发生不幸的事情.星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天.所以,不管哪个月的13日又恰逢星期五就叫"黑色星期五".
输入格式:输入只有一行,即某个特定的年份(大于或等于1998年)。
输出格式:输出只有一行,即在这一年中,出现了多少次既是13号又是星期五的情形。
样例输入
1998
样例输出
3
算法思路
- 日期的处理是一个困难的点
- 使用Java的话不要自己重复造轮子,使用
Calendar
类来处理日期
- 使用Java的话不要自己重复造轮子,使用
- 逻辑很简单 => 13号 && 星期五
代码示例
public class 黑色星期五 { // 判断是否为13号是否为星期五 static boolean judge(Calendar cal) { return cal.get(Calendar.DAY_OF_WEEK) - 1 == 5; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int year = sc.nextInt(); int cnt = 0; // 遍历每个月份的13号,进行判断是否为黑色星期五 for (int mon = 1; mon <= 12; mon++) { Calendar cal = Calendar.getInstance(); cal.set(year, mon - 1, 13); // 注意: Calender的 MONTH,DAY_OF_WEEK if (judge(cal)) cnt++; } System.out.printf("%s年有%s次黑色星期五", year, cnt); } }