问题描述:黑色星期五源于西方的宗教信仰与迷信:耶稣基督死在星期五,而13 是不吉利的数字。两者的结合令人相信当天会发生不幸的事情。星期五和数字13 都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的13 日又恰逢星期五就叫“黑色星期五”。找出未来几年哪些天是“黑色星期五”。
代码:
package number;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Scanner;
public class ch2_1 {
private static Scanner input;
public static void main(String[] args) {
input = new Scanner(System.in);
System.out.print("请输入起始年份: ");
int year=input.nextInt();//从键盘接收起始年份
System.out.print("请输入打算输出未来几年: ");
int n=input.nextInt();//从键盘接收打算输出年份
getBlackFri(year,n);//调用得到黑色星期五方法
}
// 打印未来几年黑色星期五判断每个月的13号是否是星期五
public static void getBlackFri(int year,int n)
{
//year为输出的年份,n为未来多少年?
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd E");//日期格式对象
int k=0;
Calendar cal = Calendar.getInstance();//获取日历对象
while(k<n)//外循环控制年份
{
for (int i = 0;i<12;i++)//内循环控制月份
{
cal.set(year, i,13);//设置日期
if(5==(cal.get(Calendar.DAY_OF_WEEK)-1))//判断是否是星期五
{
System.out.println("黑色星期五: "+sdf.format(cal.getTime()));
}//输出格式化日期
}
year++;//年份增加
k++;
}
}
}
运行结果如下: