java泡妞代码_在接下来的m个月内生成n个约会[保留]

我只使用

java.time.LocalDate

public class RandomDate {

private final LocalDate today;

private final Random random;

private final int months;

public RandomDate(Random random, int months) {

this.today = LocalDate.now();

this.random = random;

this.months = months;

}

public LocalDate getRangeEndDate() {

LocalDate rangeEndDay = this.today.plusDays(this.months * 30);

return rangeEndDay;

}

public LocalDate generateRandomDate(LocalDate endDate) {

int start = (int) this.today.toEpochDay();

int end = (int) endDate.toEpochDay();

long randomDay = start + random.nextInt(end - start);

return LocalDate.ofEpochDay(randomDay);

}

public LocalDate getToday() {

return today;

}

public Random getRandom() {

return random;

}

public int getMonths() {

return months;

}

@Override

public boolean equals(Object o) {

if (this == o) return true;

if (!(o instanceof RandomDate)) return false;

RandomDate that = (RandomDate) o;

return getMonths() == that.getMonths() &&

Objects.equals(getToday(), that.getToday()) &&

Objects.equals(getRandom(), that.getRandom());

}

@Override

public int hashCode() {

return Objects.hash(getToday(), getRandom(), getMonths());

}

@Override

public String toString() {

return "RandomDate{" +

"today=" + today +

", random=" + random +

", months=" + months +

'}';

}}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值