黑色星期五:每个月的13号恰逢星期五
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Demo {
public static void main(String[] args) throws ParseException, IOException {
String date;
String newDate;
System.out.println("请输入起始年份");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int year = Integer.parseInt(reader.readLine());
System.out.println("请输入未来几年的黑色星期五");
int n = Integer.parseInt(reader.readLine());
// 方式一:
/*
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy MM dd E");
for (int i = 0; i < n; i++) {
for (int j = 1; j <= 12; j++) {
newDate = year+i+" "+j+" "+13+" "+"星期一";
date = dateFormat.format(dateFormat.parse(newDate));
if(date.split(" ")[3].equals("星期五")){
System.out.println(year+i+"年"+j+"月"+13+"日");
}
}
}
*/
// 方式二:
/*
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy MM dd E");
for (int i = 1; i <= 12*n; i++) { // SimpleDateFormat中0月代表去年的12月
newDate = year+" "+i+" "+13+" "+"星期一";
date = dateFormat.format(dateFormat.parse(newDate));
if(date.contains("星期五")){
System.out.println(date);
}
}
*/
// 方式三:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy MM dd E");
Calendar calendar = Calendar.getInstance();
for (int i = 0; i < n; i++) {
for (int j = 0; j < 12; j++) { //Calendar中0月代表第一月
calendar.set(year+i, j, 13);
date = dateFormat.format(calendar.getTime());
if(calendar.FRIDAY == calendar.get(Calendar.DAY_OF_WEEK)){
System.out.println(date);
}
}
}
}
}