在我的课堂上,我必须计算 18 座不同建筑的价格,这些建筑的价格和收入都不同。当建筑物的数量增加时,它们的价格也会发生变化。
例如:数量为 0 时,建筑起价为 40 美元。每增加一个数量,价格增加 4。因此,如果您拥有 1,则在 40 状态下购买下一个相同建筑物的价格将是 44。所以这是计算价格的方法就好了。
public float getBuildingPrice(float quantity)
{
float buildingNum = quantity;
float startingPrice = 40;
float costIncrease = 4;
float finalPrice;
finalPrice = startingPrice + (costIncrease*buildingNum);
return finalPrice;
}
上面的方法返回价格,然后我将计算出的价格除以建筑物的收入,就像这样。10 是收入
float storageWorth = buildingPrice/10;
我无法做的事情是找出用户可以以最有效的方式购买的不同建筑物的数量(意味着最高收入但最低支出)所以它应该是最低价格/收入应该满足条件但也请记住,它必须在用户输入的预算中。价格总是会发生变化,我不知道如何将多个值(18 个值)与额外条件进行比较以保持在预算中。
例如
农场
- 收入 - 1
- 5 栋建筑
- 增量 4
- 价格 40 + (5 * 4) = 60 价格超过收入 = 60
笔
- 收入 - 5
- 4 栋建筑
- 增量 20
- 价格 200 + (4 * 20) = 280 价格超过收入 280/5 = 56
所以意思是说用户应该购买的下一个建筑是一支笔,因为它的价格/收入较低。也有可能两栋楼的收入超标是一样的,如果建筑达到5个围栏建筑,那么围栏和农场的收入超标都是60。