【发布时间】:2016-11-09 19:15:04
【问题描述】:
我有问题
前 3 小时的停车费为每小时 3 美元,每增加一小时,您将被收取 1 美元,24 小时为 30 美元,但您可以停留超过 24 小时。 我不知道如何解决小时> 24 的问题,例如汽车在那里停留 37 小时或更长时间。我认为必须为此使用模数,不幸的是我无法正常工作。有什么帮助吗??
if (hours >= 24) {
price = 30;
price += (hours - 3) % 1; //should the mod even go here?
} else if (hours < 24 && hours > 3) {
price = 9;
price += (hours - 3) * 1;
} else {
price = hours * 3;
}
System.out.println("Hours: " + hours + " Price: " + price);
【问题讨论】:
-
如何在 24 小时内进行计费?如果他们在那里呆了 37 小时,是不是要 30 美元加上 17 小时 @ 每小时 1 美元?
-
24 小时后仍然是每小时 1 美元吗?如果是这样,那么“24”部分似乎完全无关紧要。前三个小时是一回事,剩下的几个小时又是另一回事。当前代码以什么方式失败?
-
ye 例如 25 小时停留应该给出 33 美元的价格
-
@BlackHatSamurai 完全正确。还要注意 3*$3+(24h-3h)*$1 = $30,那么 24 小时标记真的有什么特别之处吗?
-
如果您的总停车时间以小时为单位,除以 1 天将得出总天数,前提是您取结果的底数(因为您需要整数)。如果你修改一天,你会得到不计算整天的奇数小时数(如果有的话)。你需要同时使用这两个