gpt4 book ai didi

一旦导出值,Java方法递归就会出现问题

转载 作者:行者123 更新时间:2023-12-02 06:09:32 24 4
gpt4 key购买 nike

我有一个应该导出日期的程序。我正在传递一组假期和输入日期。如果我输入的日期在假期设置内,那么我将添加一天。我再次检查新日期是否在假期集中。等等。一旦新的派生日期和新的日期不在假期集列表中,它必须从该方法返回。但是,不是再次调用该方法,而是我的派生日期正在调整。我不明白我哪里出了问题。我无法向我的基于计数器运行的方法传递任何反驳意见。这是我的代码。

package com.pamu.test;

import java.time.LocalDate;
import java.util.TreeSet;

public class ReturnCheck {

private LocalDate determineNextWorkingDayIfHolidayOrWeekend(TreeSet<LocalDate> holidaysSet, LocalDate date) {
System.out.println("determineNextWorkingDayIfHolidayOrWeekend");
if (holidaysSet.contains(date)) {
System.out.println(date+" : is a holiday");
System.out.println("Adding "+1+" day to "+date);
date = date.plusDays(1);
System.out.println("So, new date is "+date);
this.determineNextWorkingDayIfHolidayOrWeekend(holidaysSet, date);
}
return date;
}

public static void main(String args[]) {
TreeSet<LocalDate> holidaysSet = new TreeSet<LocalDate>();
holidaysSet.add(LocalDate.parse("2019-04-30".substring(0, 10)));
holidaysSet.add(LocalDate.parse("2019-05-01".substring(0, 10)));
LocalDate date = LocalDate.parse("2019-04-30".substring(0, 10));
ReturnCheck tdc = new ReturnCheck();
LocalDate derived = tdc.determineNextWorkingDayIfHolidayOrWeekend(holidaysSet,date);
System.out.println(derived);
}
}

非常感谢任何帮助。

最佳答案

您最终需要通过更改行来使用递归结果

this.determineNextWorkingDayIfHolidayOrWeekend(holidaysSet, date);

在最里面的if

return this.determineNextWorkingDayIfHolidayOrWeekend(holidaysSet, date);

然后输出

2019-05-02

关于一旦导出值,Java方法递归就会出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55920726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com