一题目要求:
二代码:
Ⅰ主
package three;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class demo_3 {
public static void main(String[] args) {
LocalDate startday=LocalDate.of(2022,2,3);
Scanner sc=new Scanner(System.in);
System.out.println("请输入要查询的日期(年月)(必须是从2022年2月开始)");
String currentday= sc.next()+"-01";
LocalDate endmonthfirstday=LocalDate.parse(currentday);
LocalDate endday=LocalDate.parse(currentday);
endday=endday.plusMonths(1).minusDays(1);
List<day> find=new ArrayList<>();
while (startday.isBefore(endday)){
day time=new day(startday);
find.add(time);
startday=startday.plusDays(1);
}
System.out.println("全部日期"+find);
System.out.println("历史休息:");
for (int i = 0; i < find.size(); i+=3) {
find.get(i).setFlag(true);
find.get(i).printfo();
}
System.out.println("从"+endmonthfirstday+"月开始休息情况");
for (int i = 0; i < find.size(); i++) {
day s=find.get(i);
if(s.getDate().isBefore(endmonthfirstday)){
continue;
}
s.printfo();
}
}
}
Ⅱ实体类
package three;
import java.time.LocalDate;
public class day {
private LocalDate date;
private boolean flag;
public day() {
}
public day(LocalDate date) {
this.date = date;
}
public LocalDate getDate() {
return date;
}
public void setDate(LocalDate date) {
this.date = date;
}
public boolean isFlag() {
return flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
@Override
public String toString() {
return date.toString();
}
public void printfo() {
System.out.println(date+(flag?"休息":""));
}
}