有java bean,包含元素列表和折扣。我必须使用递归在这些元素中应用一些计算逻辑,直到折扣值为零。
当前实施
for(CustomClass custom : customList) {
Pair<CustomClass, Integer> returnVal = myMethod(custom, discount);
}
private Pair<CustomClass, Integer> myMethod(CustomClass custom, Integer discount) {
pair.getKey().add(custom.setAmount(custom.getAmount - discount));
pair.getValue().add(discount - custom.getAmount);
return pair;
}
我必须做类似上面的事情,并且必须在customList中的多个元素中重复使用折扣,直到它为零。我想让它递归,以便我在CustomClass中获得折扣价值并减少折扣。
returnVal
已更新折扣,但未在下一次迭代中使用。
有人能给我很好的解决方法吗?
答案 0 :(得分:4)
要进行递归调用,您需要在
中调用相同的方法private Pair<CustomClass, Integer> myMethod(CustomClass custom, Integer discount) {
int dis = discount - custom.getAmount;
pair.getKey().add(custom.setAmount(custom.getAmount - discount))
pair.getValue().add(dis);
if (dis <= 0)
{
return pair;
}
return myMethod (custom, dis);
}