java 汽车租赁系统

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、汽车租赁系统
      • 1.汽车类 抽象父类
      • 2.客车类 子类
      • 3.轿车类 子类
      • 4.业务类
      • 5.功能测试类(运行)
  • 总结


前言

使用数组,面向对象的知识实现一个汽车租赁系统
制作属于你自己的秋名山租赁公司!!!

1.汽车租赁信息表如下
在这里插入图片描述

2.类和属性
在这里插入图片描述


一、汽车租赁系统

1.汽车类 抽象父类

package week_test;public abstract class Car {private String carNumber;//车牌号private String brand;//品牌private int money;//租金public Car() {}public Car(String brand) {this.brand = brand;}public Car(String carNumber, String brand, int money) {this.carNumber = carNumber;this.brand = brand;this.money = money;}public String getCarNumber() {return carNumber;}public void setCarNumber(String carNumber) {this.carNumber = carNumber;}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}public int getMoney() {return money;}public void setMoney(int money) {this.money = money;}//租赁费用public abstract double allMoney(int days,double dayMoney);
}

2.客车类 子类

package week_test;public class PassengerCar extends Car{private String seating;//座位数public PassengerCar() {}public PassengerCar(String brand, String seating) {super(brand);this.seating = seating;}public PassengerCar(String carNumber, String brand, int money, String seating) {super(carNumber, brand, money);this.seating = seating;}public String getSeating() {return seating;}public void setSeating(String seating) {this.seating = seating;}//重写租赁费用@Overridepublic double allMoney(int days, double dayMoney) {if (days>=150){return days*dayMoney*0.6;}else if (days>=30){return days*dayMoney*0.7;}else if (days>=7){return days*dayMoney*0.8;}else if (days>=3){return days*dayMoney*0.9;}elsereturn days*dayMoney;}
}

3.轿车类 子类

package week_test;public class SaloonCar extends Car{private String type;//型号public SaloonCar() {}public SaloonCar(String brand, String type) {super(brand);this.type = type;}public SaloonCar(String carNumber, String brand, int money, String type) {super(carNumber, brand, money);this.type = type;}public String getType() {return type;}public void setType(String type) {this.type = type;}//重写租赁费用@Overridepublic double allMoney(int days, double dayMoney) {if (days>150){return days*dayMoney*0.7;}else if (days>30){return days*dayMoney*0.8;}else if (days>7){return days*dayMoney*0.9;}elsereturn days*dayMoney;}
}

4.业务类

package week_test;public class CarBusiness {//筛选车辆public static Car searchCar(Car car,Car[] cars){//遍历cars对象数组for (Car c : cars) {if (c instanceof SaloonCar) {//将客户选择的品牌和型号做比较if (c.getBrand().equals(car.getBrand())&&((SaloonCar) c).getType().equals(((SaloonCar) car).getType())){//相同 则返回 对应的对象 方便后续输出车牌号return c;}}if (c instanceof PassengerCar){if (c.getBrand().equals(car.getBrand())&&((PassengerCar) c).getSeating().equals(((PassengerCar) car).getSeating())){return c;}}}return null;}
}

5.功能测试类(运行)

package week_test;import java.util.Scanner;import static week_test.CarBusiness.searchCar;//导入静态方法searchCarpublic class TestCar {public static void main(String[] args) {//将汽车信息装入对象数组carsSaloonCar sc1 = new SaloonCar("京NY28588","宝马",800,"X6");SaloonCar sc2 = new SaloonCar("京CNY3284","宝马",600,"550i");SaloonCar sc3 = new SaloonCar("京NT37465","别克",300,"林荫大道");SaloonCar sc4 = new SaloonCar("京NT96968","别克",600,"GL8");PassengerCar pc1 = new PassengerCar("京6566754","金杯",800,"16座");PassengerCar pc2 = new PassengerCar("京8696997","金龙",800,"16座");PassengerCar pc3 = new PassengerCar("京9696996","金杯",1500,"34座");PassengerCar pc4 = new PassengerCar("京8696998","金龙",1500,"34座");Car [] cars ={sc1,sc2,sc3,sc4,pc1,pc2,pc3,pc4};//测试功能Scanner sc = new Scanner(System.in);System.out.println("***********欢迎光临秋名山守望者汽车租赁公司***********");String brand=null;//品牌String type=null;//型号Car car2=null;//创建父类对象,接受品牌和型号//租赁的汽车类型System.out.println("1、轿车  2、客车");System.out.println("请选择你要租赁的汽车类型:");int i = sc.nextInt();if (i==1){//租赁的汽车品牌System.out.println("请选择你要租赁的汽车品牌: 1、别克 2、宝马");brand=sc.nextInt()==1?"别克":"宝马";if (brand.equals("别克")){//租赁的汽车类型System.out.println("请选择你要租赁的汽车类型: 1、林荫大道 2、GL8");type=sc.nextInt()==1?"林荫大道":"GL8";}else {//租赁的汽车类型System.out.println("请选择你要租赁的汽车类型: 1、X6 2、550i");type=sc.nextInt()==1?"X6":"550i";}car2 = new SaloonCar(brand,type);}if (i==2){//租赁的汽车品牌System.out.println("请选择你要租赁的汽车品牌: 1、金龙 2、金杯");brand=sc.nextInt()==1?"金龙":"金杯";//租赁的汽车座位数System.out.println("请选择你要租赁的汽车座位数: 1、16座 2、34座");type=sc.nextInt()==1?"16座":"34座";car2 = new PassengerCar(brand,type);}Car car1;//接受searchCar传过来的对象car1=searchCar(car2,cars);//租赁的天数System.out.println("请输入你要租赁的天数: ");int i1 = sc.nextInt();//分配给您的汽车牌号System.out.println("分配给您的汽车牌号是: "+car1.getCarNumber());//支付的费用System.out.println("您需要支付的租赁费用是: "+car1.allMoney(i1,car1.getMoney())+"元。");}
}

轿车运行截图如下:
在这里插入图片描述
客车运行截图如下:
在这里插入图片描述

总结

难点:获取客户输入的汽车品牌和类型(座位数),遍历对象数组,if语句判断是否相等,输出你想要的对象,获取到绑定的车牌号。

详解:
brand和type用条件(三元)运算符讲客户输入的int类型的值转化为字符串
car2 向上转型存入brand和type接收到的客户输入的值

//部分代码片段brand=sc.nextInt()==1?"别克":"宝马";type=sc.nextInt()==1?"林荫大道":"GL8";car2 = new SaloonCar(brand,type);car1=searchCar(car2,cars);
//部分代码片段//筛选车辆public static Car searchCar(Car car,Car[] cars){//遍历cars对象数组for (Car c : cars) {if (c instanceof SaloonCar) {//将客户选择的品牌和型号做比较if (c.getBrand().equals(car.getBrand())&&((SaloonCar) c).getType().equals(((SaloonCar) car).getType())){//相同 则返回 对应的对象 方便后续输出车牌号return c;}}if (c instanceof PassengerCar){if (c.getBrand().equals(car.getBrand())&&((PassengerCar) c).getSeating().equals(((PassengerCar) car).getSeating())){return c;}}}return null;}

希望能与您共进步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24547.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信用租赁系统搭建-“信用”+“租赁”模式,租赁方式更灵活

一、系统介绍 信用租赁系统(又名:回租贷款系统)是互融云针对租赁市场需求而研发出来的信用租赁金融服务系统,目前主要应用于高信用可免减押金的租赁需求。系统是“信用”“租赁”的模式,租赁方式包含长期租赁方式和短期…

汽车租赁系统(2)-完成登录功能

文章目录 完成汽车租赁系统的登录功能分析登录功能:创建数据库的表用户表(sys_users)创建首页index.jsp创建实体类创建UserVo创建Mapper创建Mapper.xml创建UserService和UserServiceImpl创建LoginController创建system/main/index.jsp 这篇博客主要讲解登录功能的实现,工作台的…

公寓租赁管理系统

公寓租赁管理系统是深圳合众致达科技有限公司旗下一款面向长短租公寓的管理利器,包含租约管理、账单管理、房源数据、租客管理、水电费计算、收租提醒、远程抄表、智能用水用电的公寓管理系统。轻轻松松做房东,明明白白管账本。专业的智慧公寓管理系统&a…

基于Android的房屋租赁系统

需求信息: 房东客户端: 1:注册登录:使用分配的账号进行登录; 2:发布房源:房主可以发布自己的房源信息; 3:预约信息:查看租客的预约看房信息; 4&am…

汽车租赁系统(JAVA)

某汽车租赁公司出租多种轿车和客车,出租费用 以日为单位计算。出租车型及信息如下表所示 最终实现效果 1.首先创建一个父类 (抽象类) package test6; //父类 public abstract class Car {private String brand;private int dayRent;private …

基于 FastAPI 的房源租赁系统设计与实现

项目背景 传统的线下租房不便、途径少、信息更新慢,导致房屋租赁效率低。为了有效的提升租赁效率和房源信息管理、提供更优质的租赁服务。让房东出租宣传展示与房源管理、租客更好的检索房源信息、发布租房需求以及入住预定、后台房源管理、审核等一站式租赁服务平…

8.3.9 加载租赁数据至租赁事实表

1.创建转换 使用Kettle工具,创建一个转换load_fact_rental,并添加表输入控件、字段选择控件、过滤记录控件、计算器控件、增加常量控件、数据库查询控件、维度查询/更新控件、插入/更新控件以及Hop跳连接线 2.配置表输入 3.配置表输入2 4.配置字段选择 …

特色租房管理系统/租房管理系统/房屋租赁管理系统

摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存…

房租租赁租房系统都包含哪些功能?

俗话说成家立业,现在一提到婚姻无非就是房车等,房子一直是排在首位的,但是伴随着连年上涨的房价,从两三千到现在得一两万甚至更高。一套房子买下来动辄上百万,要掏空两个家庭多个钱包还要欠银行一笔贷款,于…

我的 SAP 技术交流群里的真实案例,看样子 ChatGPT 能帮我回答不少问题了

请问下大家,Fiori Elements 里面我要怎么知道页面上的东西的 element ID 是啥?就是 byId 方法调用需要传入的那个参数… 我的人工回复: 不管是 freestyle 还是 Fiori Elements,SAP UI5 控件最后渲染出来的 HTML 原生代码里的 id…

chatgpt赋能python:Python交流微信群:打开学习和分享的大门

Python交流微信群:打开学习和分享的大门 Python是一种高级编程语言,得益于其灵活性,易学性和强大的社区支持,已经成为许多程序员首选的开发语言。但是,学习Python并没有那么容易,很多人可能会面临困惑和挫…

chatgpt赋能python:Python交流群:分享经验、解决问题、结交朋友

Python 交流群:分享经验、解决问题、结交朋友 Python 是一种高级编程语言,被广泛使用于数据科学、机器学习、人工智能、网络开发、游戏开发等众多领域。作为一个有着10年 Python 编程经验的工程师,我深感 Python 社区的活力和创新力。其中&a…

Android 动画(七)AnimatorSet组合动画

概述: ValueAnimator和ObjectAnimator都是针对单个动画的,虽然可以用PropertyValuesHolder实现一个View的多种动画,但是没办法实现多个View同时动画。如果要对多个View做动画,并且单个View上存在多种动画效果,这时候就…

chatgpt赋能python:Python做动画视频教程-如何入门

Python做动画视频教程-如何入门 Python是一种非常强大的编程语言,它可以用于很多领域,比如数据科学、机器学习和计算机视觉等。但是你曾想过用Python来制作动画视频吗?这不仅可以增强你的编程技能,而且还可以让你的创意更加丰富。…

chatgpt赋能python:Python做动画需要学习哪些东西?

Python做动画需要学习哪些东西? Python是一种高级编程语言,具有易读易学的特点,因此被广泛应用于图形设计、动画、游戏和科学计算等领域。Python使动画制作变得更加简单和快速,并且允许用户在更广泛的平台上实现创意想法。 在本…

chatgpt赋能python:Python做动画演示

Python做动画演示 Python是一种脚本语言,适用于广泛的应用,例如数据分析和机器学习。但是,Python也可以用于创建动画演示。本文将介绍Python如何用于制作动画演示,并提供一些最佳实践来帮助您获得最佳效果。 起步 首先&#xf…

不会做动画的程序猿不是好的动画师(如何用css3动画做动画)

“看清animation,transform, keyframes,transition这四个的脸,以后这四个来了就是要做动画了,看好你们的网页,除了这四个,谁管你们都不好使。” 一.transition(过渡)&…

[一起来做动图吧]Animate制作简单动图,包教包会,不会举报

这个是目录 首先,认识一下An吧①区,我不怎么用但其实很重要②区,要和④区混合食用选择,自由变形,套索工具绘图工具(以线条为例)填充和笔触:对象绘制模式:笔触、样式和宽度…

chatgpt赋能python:用Python来制作动画

用Python来制作动画 Python是一种高级编程语言,可以用于许多任务,包括数据分析、网络编程,甚至是制作动画。在这篇文章中,我们将讨论如何使用Python来制作动画。 Python中的动画库 Python中有许多用于制作动画的库。其中最流行…

ping命令 网络抓包 分析

首先,执行ipconfig确认自己电脑的ip地址 可以得到我的电脑的ip地址为192.168.43.15,网关地址为192.168.43.1 打开wireshark抓包工具,ping网关,看看会发生什么 命令行中,我们发送了4个具有32B的数据,从抓…