所以我有一个递归问题。
编写一个程序来预测生物种群的大小。该程序应询问生物的起始数量、它们的平均每日种群增加量(以百分比表示)以及它们将繁殖的天数。例如,一个种群可能从两个有机体开始,平均每天增加 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);
}
我知道这会给我所有日子的总和。我不知道如何存储每个值并使其以不同的方法循环打印。我真的迷路了。我需要一些帮助,我将不胜感激。