6-8 共享车辆计费程序

本文描述了一个Java编程问题,要求设计一个继承自HiINC类的车辆模型,包括共享汽车和共享单车,每个子类重写getRent方法以计算不同的租金,然后在main函数中使用calculateRent静态方法计算总租金并输出,保留两位小数。
摘要由CSDN通过智能技术生成

你好车辆共享公司现有两种共享车辆,即共享汽车和共享单车。共享汽车包含车牌号(String类型)和售价(double类型),共享单车包含车牌号(String类型)。不同车辆的租金计算方式不同,具体计算方式如下:
1、共享汽车,租金天计算,每天租金为售价的0.1%;
2、共享单车,租金天计算,每天租金为12元。

现需要您构造上述共享车辆的继承体系,他们均继承自你好车辆类(HiINC),且提供方法getRent()返回租金。在main函数中构造了HiINC数组,包含共享汽车和共享单车对象,调用HiINC类中的静态方法calculateRent得到并输出租金,保留小数点两位。

函数接口定义:

double getRent(); static double calculateRent(HiINC[] hi, int days);

裁判测试程序样例:

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); HiINC[] hi = new HiINC[n]; for (int i = 0; i < n; i++) { String type = sc.next(); if (type.equals("bicycle")) { hi[i] = new Bicycle(sc.next()); } else { hi[i] = new Car(sc.next(), sc.nextDouble()); } } double rent = HiINC.calculateRent(hi, sc.nextInt()); System.out.printf("%.2f", rent); } } /* 请在这里填写答案 */

输入样例:

5
car C001 253000
car C002 163000
bicycle B001 
bicycle B002
car C003 161000
20

样例说明:
5 //表示需要计算5辆车的租金
car C001 253000 //表示车辆类型,车牌,售价
car C002 163000
bicycle B001
bicycle B002
car C003 161000
20 //表示租赁天数

输出样例:

在这里给出相应的输出。例如:

12020.00

答案:

class HiINC {
    public static double calculateRent(HiINC[] hi, int days) {
        double totalRent = 0;
        for (HiINC vehicle : hi) {
            totalRent += vehicle.getRent() * days;
        }
        return totalRent;
    }

    // This method needs to be implemented by subclasses
    public double getRent() {
        return 0; // Default implementation, to be overridden by subclasses
    }
}

class Car extends HiINC {
    private String plateNumber;
    private double sellingPrice;

    public Car(String plateNumber, double sellingPrice) {
        this.plateNumber = plateNumber;
        this.sellingPrice = sellingPrice;
    }

    @Override
    public double getRent() {
        return sellingPrice * 0.001; // 0.1% of selling price per day
    }
}

class Bicycle extends HiINC {
    private String plateNumber;

    public Bicycle(String plateNumber) {
        this.plateNumber = plateNumber;
    }

    @Override
    public double getRent() {
        return 12.0; // $12 per day for bicycles
    }
}
2. 运用华为云的函数服务可以有效解决停车场的车辆进出的计费问题。首先,可以通过华为云函数服务编写一个函数,用于实时监控车辆的进入和离开情况。当车辆进入停车场时,函数可以自动记录进入时间,并将该信息存储到云数据库中。同理,当车辆离开停车场时,函数可以记录离开时间,并计算出停留时长。 接下来,利用华为云函数服务的计费功能,我们可以根据车辆的停留时长自动进行计费。通过设定不同的计费标准和费率,函数可以根据停留时长自动计算出停车费用。同时,可以设置定时任务来定期清理过期的停车数据和计费记录,以保证计费过程的准确性和及时性。 3. 结合华为云的CCE(云容器引擎),我们可以轻松创建和管理工作负载。首先,我们需要在CCE上创建一个集群,用于部署容器化应用。然后,可以使用CCE提供的容器编排功能,将多个容器组织成一个工作负载,例如一个Web应用程序。 通过CCE,我们可以简化应用程序的部署和管理过程。CCE提供了灵活的配置选项,可以根据需求自定义容器的资源分配和网络设置。此外,CCE还支持自动伸缩功能,能够根据负载变化自动调整容器数量,以提高应用程序的可靠性和可扩展性。 4. 使用华为云的联盟服务,可以实现不同云之间的资源共享和互联互通。联盟服务可以使多个云服务提供商之间建立合作关系,共享各自的云资源和服务。 通过联盟服务,我们可以将华为云与其他云服务商的资源池连接起来,实现跨云的资源整合和共享。例如,我们可以将华为云的计算资源与其他云商的存储资源结合起来,以提供更全面的云服务。同时,联盟服务还支持跨云的数据互通,使得不同云之间的数据可以实现共享和共同处理。 总之,华为云的函数服务、CCE和联盟服务都为我们提供了强大的云计算解决方案,可以帮助我们解决各种复杂的业务问题,并提升应用程序的性能和可靠性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值