慕课网-哒哒租车系统

//定义一个父类

public class Car {
      String name;//车名
      double  rent;//租金
    public String getName(){
            return name;
    }
    public void setName(String carName){
            this.name=carName;
    }
    public double getRent(){
            return  rent;
    }
    public void setRent(String carRent){
        this.name=carRent;
    }
}
//定义客车并继承Car

public class PassengerCar extends Car {
    private int  peopleCapacity;//载客量
    public PassengerCar(String name,double rent,int peopleCapacity){//构造方法可以在实例化对象时候直接这个对象进行赋值
           this.name=name;
           this.rent=rent;
           this.peopleCapacity=peopleCapacity;
   }
   public int getPeopleCapacity(){
           return peopleCapacity;
   }
   public void setPeopleCapacity(int  peoplecapacity){
           this.peopleCapacity=peoplecapacity;
   }
}

//定义货车并继承Car

public class Truck extends Car {
    private int cargoCapacity;//载货量
    public int getCargoCapacity(){
            return cargoCapacity;
    }
    public void setCargoCapacity(int cargocapacity){
            this.cargoCapacity=cargocapacity;
    }
    public Truck(String name,double rent,int cargoCapacity){//构造方法可以在实例化对象时候九尾这个对象进行赋值
            this.name=name;//this.name是访问成员变量
            this.rent=rent;
            this.cargoCapacity=cargoCapacity;
    }
}

//定义一个测试类

import java.util.Scanner;
public class Test {
    public static void main(String[] args){//定义一个类数组
        Car[] car={new PassengerCar("奥迪",500,4),new PassengerCar("马自达",400,4),new Truck("金龙",800,20),new Truck("松花江",400,4),new Truck("依维柯",1000,20)};
        System.out.println("欢迎使用答答租车系统");
        System.out.println("你是否要租车:1是 2否");
        int peopleCapacity=0;
        int cargoCapacity=0;
        int totalRent=0;//总的租金
        Scanner scan=new Scanner(System.in);
        int input=scan.nextInt();//这两句是读取输入值
        if(input==1){
                System.out.println("你可租车的类型及其价格表:");
                System.out.print("序号\t\t汽车名称\t\t租金\t\t容量\t\t\n");
                int i=1;
                for(Car Cars:car){
                        if(Cars instanceof PassengerCar){
                            System.out.println(" "+i+"\t\t"+Cars.getName()+"\t\t"+Cars.getRent()+"元/天\t"+((PassengerCar)Cars).getPeopleCapacity()+"人\t\t");

                        }else{
                            System.out.println(" "+i+"\t\t"+Cars.getName()+"\t\t"+Cars.getRent()+"元/天\t"+((Truck)Cars).getCargoCapacity()+"吨\t\t");
                        }
                        ++i;
                }
                System.out.println("请输入你要租车的数量:");
                int count=scan.nextInt();
                for(int j=0;j<count;j++){
                    System.out.println("请输入您要选择的第"+(j+1)+"辆车的序号");
                    int chooseNum=scan.nextInt();
                    System.out.println("你选择的是第"+chooseNum+"号车型");
                    if(car[chooseNum-1] instanceof PassengerCar){
                            System.out.println(car[chooseNum-1].getName()+"\t\t"+car[chooseNum-1].getRent()+"元/天\t"+((PassengerCar)car[chooseNum-1]).getPeopleCapacity()+"人\t\t");
                            peopleCapacity+=((PassengerCar)car[chooseNum-1]).getPeopleCapacity();
                    }else{
                            System.out.println(car[chooseNum-1].getName()+"\t\t"+car[chooseNum-1].getRent()+"元/天\t"+((Truck)car[chooseNum-1]).getCargoCapacity()+"人\t\t");
                            cargoCapacity+=((Truck)car[chooseNum-1]).getCargoCapacity();
                    }
                    totalRent+=car[chooseNum-1].getRent();
                }
                System.out.println("请输入你租车的天数");
                int days=scan.nextInt();
                System.out.println("你租赁了"+count+"辆车");
                System.out.println("总载客量为"+peopleCapacity+"人");
                System.out.println("总载货量为"+cargoCapacity+"吨");
                System.out.println("总租金为"+totalRent*days+"元");
          }else{
            System.out.println("再见");  
          }
     }
}

结果:

欢迎使用答答租车系统
你是否要租车:1是 2否
1
你可租车的类型及其价格表:
序号        汽车名称        租金        容量        
 1        奥迪        500.0元/天    4人        
 2        马自达        400.0元/天    4人        
 3        金龙        800.0元/天    20吨        
 4        松花江        400.0元/天    4吨        
 5        依维柯        1000.0元/天    20吨        
请输入你要租车的数量:
3
请输入您要选择的第1辆车的序号
1
你选择的是第1号车型
奥迪        500.0元/天    4人        
请输入您要选择的第2辆车的序号
2
你选择的是第2号车型
马自达        400.0元/天    4人        
请输入您要选择的第3辆车的序号
3
你选择的是第3号车型
金龙        800.0元/天    20人        
请输入你租车的天数
3
你租赁了3辆车
总载客量为8人
总载货量为20吨
总租金为5100元

转载于:https://www.cnblogs.com/shamoguzhou/p/7028653.html

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值