1.停车场计费,规则:3小时内(含)5元,每增加1小时加收1元,停车不足1小时的按1小时计算,24小时内最高限额20元。如果一辆车周一早上8:40入场,周五早上7:10离场,会产生多少停车费?(答案需写明多少费用、计算思路和代码)java实现
时间: 2024-05-15 18:16:49 浏览: 141
计算思路:
1. 计算总停车时间:周一早上8:40到周五早上7:10,共计3天22小时30分钟,即94.5小时。
2. 判断是否超过24小时:若超过24小时,则停车费为20元。
3. 若未超过24小时,则按照规则计算停车费:前3小时5元,后面的每小时加收1元。因此,停车费为5 + 1 * 91 = 96元。
代码实现:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class ParkingFee {
public static void main(String[] args) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date enterTime = sdf.parse("2022-01-03 08:40"); // 周一早上8:40入场
Date leaveTime = sdf.parse("2022-01-07 07:10"); // 周五早上7:10离场
long totalTime = (leaveTime.getTime() - enterTime.getTime()) / (1000 * 60); // 总停车时间,单位为分钟
int totalHours = (int) Math.ceil(totalTime / 60.0); // 总停车时间向上取整,单位为小时
int totalFee = 0; // 总停车费用
if (totalHours <= 72) { // 未超过24小时
if (totalHours <= 3) { // 停车不足1小时的按1小时计算
totalFee = 5;
} else { // 前3小时5元,后面的每小时加收1元
totalFee = 5 + (totalHours - 3);
}
if (totalFee > 20) { // 最高限额20元
totalFee = 20;
}
} else { // 超过24小时
totalFee = 20;
}
System.out.println("停车时间:" + totalHours + "小时");
System.out.println("停车费用:" + totalFee + "元");
}
}
```
输出结果:
```
停车时间:94小时
停车费用:96元
```
阅读全文