Java习题第三题

一题目要求:

二代码:

Ⅰ主

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?"休息":""));
    }
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰克尼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值