输出2010年到2021年的黑色星期五;输入一个字符串格式的年,输出这一年当中的黑色星期五!

黑色星期五是指每个月的13号和每个周的周五为同一天

代码如下:

@Test
	public void test2() {
		// 嵌套循环拿到年月日
		for (int year = 2010; year <= 2021; year++) {
			Calendar calendar = Calendar.getInstance();
			calendar.set(Calendar.YEAR, year);
			for (int month = 0; month < 12; month++) {
				calendar.set(Calendar.MONTH, month);
				calendar.set(Calendar.DAY_OF_MONTH, 13);
				int week = calendar.get(Calendar.DAY_OF_WEEK);
				if (Calendar.FRIDAY == week) {
					// 日历中FIRDAY方法得到的数字是6,所以减一得到的是5
					System.out.println(forMatDate(calendar) + "是黑色星期" + (week - 1));
				}
			}
		}
	}

	// 自定义一个可以格式化日期的方法以便调用,日历需要转换为日期才可以格式化
	private String forMatDate(Calendar calendar) {
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
		return simpleDateFormat.format(calendar.getTime());

	}

打印输出结果为:
在这里插入图片描述

输入一个字符串格式的日期,判断是不是黑色星期五!

package com.situ.problem08;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Scanner;

import org.junit.Test;

/*
 * 2016-05-13黑色星期5 2017-01-13黑色星期5 2017-10-13黑色星期5 2018-04-13黑色星期5 
 * 2018-07-13黑色星期5 2019-09-13黑色星期5 2019-12-13黑色星期5 2020-03-13黑色星期5
 * 2020-11-13黑色星期5 2021-08-13黑色星期5
 */

public class BlackFriday {
	@Test
	public void format() {
		Scanner scanner = new Scanner(System.in);
		System.out.println("输入年份,格式为yyyy");
		int year = scanner.nextInt();
		Calendar calender = Calendar.getInstance();
		calender.set(Calendar.YEAR, year);
		for (int month = 0; month < 12; month++) {
			calender.set(Calendar.DAY_OF_MONTH, 13);
			calender.set(Calendar.MONTH, month);
			int week = calender.get(Calendar.DAY_OF_WEEK);
			if (Calendar.FRIDAY == week) {
				System.out.println(formatDate(calender) + "是黑色星期五");
			}
		}
		scanner.close();
	}
// 自定义一个可以格式化日期的方法以便调用,日历需要转换为日期才可以格式化
	private String formatDate(Calendar calender) {
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
		return simpleDateFormat.format(calender.getTime()).toString();
	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值