计费规则为 首小时4元,第二小时开始2元/小时,每天36元封顶
时间: 2023-07-09 20:51:01 浏览: 67
针对这种计费规则,可以设计以下 Java 计费算法实现:
```java
public class Billing {
// 计费规则:首小时 4 元,第二小时开始每小时 2 元,每天 36 元封顶
private static final double FIRST_HOUR_PRICE = 4.0;
private static final double PER_HOUR_PRICE = 2.0;
private static final double MAX_DAILY_PRICE = 36.0;
// 计算费用
public double calculateCost(int hours) {
double cost = 0.0;
if (hours > 0) {
cost += FIRST_HOUR_PRICE;
if (hours > 1) {
cost += Math.min(MAX_DAILY_PRICE - FIRST_HOUR_PRICE, (hours - 1) * PER_HOUR_PRICE);
}
}
return cost;
}
// 生成账单
public void generateBill(double cost) {
// 将账单存入数据库或输出到文件等
System.out.println("账单金额:" + cost + "元");
}
}
```
可以在其他类中调用 `Billing` 类中的方法,例如:
```java
public class Main {
public static void main(String[] args) {
Billing billing = new Billing();
int hours = 3;
double cost = billing.calculateCost(hours);
billing.generateBill(cost);
}
}
```
以上示例中,`Billing` 类定义了计费规则和计费算法,`Main` 类中调用 `Billing` 类的方法来计算费用并生成账单。其中,`calculateCost()` 方法根据计费规则计算费用,`generateBill()` 方法将费用存入数据库或输出到文件中。