找到休息日任务
困难
1.如何空格打印
2.如何找到休息日
3.如何找到在周末的休息日并计数
import java.util.Calendar;
import java.util.Scanner;
public class restDate {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Calendar calendar1 = Calendar.getInstance();
Calendar calendar2 = Calendar.getInstance();
calendar2.set(2020,01,02);
//System.out.println(calendar2.getTime());
System.out.println("请输入年:");
int year = scanner.nextInt();
System.out.println("请输入月:");
int month = scanner.nextInt();
calendar1.set(Calendar.YEAR, year);
calendar1.set(Calendar.MONTH, month-1);//日历中月份1-12对应的是0-11
int actualMaximum = calendar1.getActualMaximum(Calendar.DATE);//获得该月最大天数
calendar1.set(Calendar.DAY_OF_MONTH,1);
//System.out.println(calendar1.getTime());
int dayOfWeek = calendar1.get(Calendar.DAY_OF_WEEK);//获得该月第一天是星期几
//System.out.println(dayOfWeek);
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
int countNumber = 0;
for (int i = 0; i < dayOfWeek; i++) {
if (i > 0) {
System.out.print( " " + "\t\t");
}
countNumber++;
}
//System.out.println(countNumber);
int countNumber1 = 0;
int countNumber2 = 0;
for (int i = 0; i < actualMaximum; i++){
calendar1.set(Calendar.DAY_OF_MONTH,i + 1);
if ((calendar1.get(Calendar.DAY_OF_YEAR) - calendar2.get(Calendar.DAY_OF_YEAR)) % 4 == 0) {
System.out.print(("[" + (i + 1) + "]") + " \t");
countNumber1++;
if (calendar1.get(Calendar.DAY_OF_WEEK) == 1 || calendar1.get(Calendar.DAY_OF_WEEK) == 7) {
countNumber2++;
}
} else {
System.out.print((i + 1) + "\t\t");
}
if (countNumber % 7 == 0){
System.out.println();
}
countNumber++;
}
System.out.println();
System.out.println("本月休息天数:" + countNumber1);
System.out.println("本月轮到周末休息天数:" + countNumber2);
}
}