У меня есть программа, которая должна получить дату. Я прохожу множество праздников и дату ввода. Если моя дата ввода находится в пределах установленного праздника, то я добавляю к нему один день. Я снова проверяю, что новая дата в праздничном наборе или нет .. и т.д. Как только новый производный и новая дата не в списке праздничных дней, он должен вернуться из этого метода. Но вместо этого метод вызывается снова, и моя производная дата корректируется обратно.
Я не понимаю, где я иду не так. Я не могу передать какой-либо контраргумент моему методу для запуска на основе счетчика. Это мой код.
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);
}
}
Любая помощь высоко ценится.