【发布时间】:2013-09-26 05:38:00
【问题描述】:
所以我遇到了递归问题。
编写一个程序来预测生物种群的大小。该程序应询问生物的起始数量、它们的平均每日种群增加量(以百分比表示)以及它们将繁殖的天数。 例如,一个种群可能从两个生物开始,平均每天增加 50%,并且将被允许繁殖 7 天。程序应该使用循环来显示每天的人口规模。 输入验证:
- 不接受小于 2 的数字作为总体的起始规模。
- 不接受负数表示平均每日人口增长。
- 不要接受小于 1 的数字作为它们将相乘的天数。
- 确保您的程序使用递归方法而不是循环来计算生物体的数量。
- 请在您正在完成的任何方法的开头记录前置条件和后置条件。如果不存在,则每个都声明不存在。
我们必须编写一个displayPopulation 方法来显示每天的人口规模。然后,我们必须编写递归方法来计算大小,然后我们有 main 用于输入验证。
现在,我有了主方法和递归方法。我想不通的是如何让循环显示每天的大小? 以下是我的递归方法:
private static double showPopulation(int dayNum, int days, double organisms, double dailyIncrease){
if(dayNum==days)
return organisms;
else
return showPopulation(dayNum+1, days, organisms + organisms*(dailyIncrease/100), dailyIncrease);
}
我知道这会给我所有天的总和。我不知道如何存储每个值并使其以不同的方法循环打印。我真的迷路了。我需要一些帮助,我将不胜感激。
【问题讨论】:
-
你有没有为 displayPopulation 尝试过什么?如果没有,你会如何口头解决?这有时可以帮助我确定可行的算法。
-
@Rabia Khan如果你找到任何答案。帮助已满,无法将其标记为已接受。