汽车租赁系统(JAVA)

某汽车租赁公司出租多种轿车和客车,出租费用 以日为单位计算。出租车型及信息如下表所示

 

 

最终实现效果

 

1.首先创建一个父类 (抽象类)

package test6;
//父类
public abstract class Car {private String brand;private int dayRent;private String id;public Car() {}public Car(String brand, int dayRent, String id) {this.brand = brand;this.dayRent = dayRent;this.id = id;}public abstract double getMoney(int day,int dayRent);public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}public int getDayRent() {return dayRent;}public void setDayRent(int dayRent) {this.dayRent = dayRent;}public String getId() {return id;}public void setId(String id) {this.id = id;}
}

2.创建一个子类,轿车类,因为计算租金不一样,所以我们要重写父类的抽象方法

package test6;
//子类  轿车
public class SaloonCar extends Car{private String model;public SaloonCar() {super();}@Overridepublic double getMoney(int day,int dayRent) {double rent=0;if (day>0){if (day>0&&day<=7){rent=day*dayRent;}if (day>7&&day<=30){rent = day*dayRent*0.9;} else if (day>=30&&day<=150) {rent = day*dayRent*0.8;} else if (day>150) {rent = day*dayRent*0.7;}}else {System.out.println("输入天数有误,请重新输入天数");}return rent;}public SaloonCar(String brand,int dayRent,String id,String model) {super(brand,dayRent,id);this.model = model;}public String getModel() {return model;}public void setModel(String model) {this.model = model;}
}

3.然后再创建一个客车类

package test6;
//子类   客车
public class PassengerCar extends Car{private int seatNumber;public PassengerCar() {}@Override//重写父类的抽象方法public double getMoney(int day ,int dayRent) {double rent = 0;if (day>0){if (day>0&&day<3){rent=day*dayRent;}if (day>=3&&day<7){rent = day*dayRent*0.9;} else if (day>=7&&day<30) {rent = day*dayRent*0.8;} else if (day>=30&&day<150) {rent = day*dayRent*0.7;} else if (day>=150) {rent = day*dayRent*0.6;}}else {System.out.println("输入天数有误,请重新输入天数");}return rent;}public PassengerCar(String brand,int dayRent,String id,int seatNumber) {super(brand,dayRent,id);this.seatNumber = seatNumber;}public int getSeatNumber() {return seatNumber;}public void setSeatNumber(int seatNumber) {this.seatNumber = seatNumber;}
}

4.最后再创建一个测试类

package test6;import java.util.ArrayList;
import java.util.Scanner;public class TestCar {public static void main(String[] args) {ArrayList<SaloonCar> list = new ArrayList<>();SaloonCar s1=new SaloonCar("宝马",800,"(京NY28588)","宝马55i");SaloonCar s2=new SaloonCar("宝马",600,"(京CNY3284)","宝马X6");SaloonCar s3=new SaloonCar("别克",300,"(京NT37465)","别克林荫大道");SaloonCar s4=new SaloonCar("别克",300,"(京NT96968)","别克GL8");list.add(s1);list.add(s2);list.add(s3);list.add(s4);ArrayList<PassengerCar> list1 = new ArrayList<>();PassengerCar p1=new PassengerCar("金杯",800,"(京6566754)",16);PassengerCar p2=new PassengerCar("金龙",800,"(京86696997)",16);PassengerCar p3=new PassengerCar("金杯",1500,"(京9696996)",32);PassengerCar p4=new PassengerCar("金龙",1500,"(京8696998)",32);list1.add(p1);list1.add(p2);list1.add(p3);list1.add(p4);Scanner sc=new Scanner(System.in);System.out.println("****************欢迎来到汽车租赁公司*****************");System.out.println("请选择你要租赁的汽车类型:1、轿车  2、客车");String choose = sc.next();if (choose.equals("1")){//轿车int index = chooseSaloonCar();//调用方法得到轿车对应的索引SaloonCar s=list.get(index);System.out.println("请输入租赁的天数:");int day=sc.nextInt();double rent = s.getMoney(day,s.getDayRent());System.out.println("分配给您的汽车牌号是:"+s.getId());System.out.println("您需要支付的租赁费用是:"+rent+"元");} else if (choose.equals("2")) {//客车int index = choosePassengerCarIndex();//调用方法得到轿车对应的索引PassengerCar p=list1.get(index);System.out.println("请输入租赁的天数:");int day=sc.nextInt();double rent = p.getMoney(day,p.getDayRent());System.out.println("分配给您的汽车牌号是:"+p.getId());System.out.println("您需要支付的租赁费用是:"+rent+"元");}else {System.out.println("输入错误,没有这个选项");}}//定义一个方法用于返回轿车对应的索引public static int chooseSaloonCar(){Scanner sc=new Scanner(System.in);String choose="";System.out.println("请选择你要租赁的汽车品牌:1、别克   2、宝马");choose=sc.next();if (choose.equals("1")){//别克System.out.println("请选择汽车品牌:1、别克林荫大道   2、别克GL8");choose=sc.next();if (choose.equals("1")){return 2;}else if (choose.equals("2")){return 3;}else {System.out.println("输入错误,没有这个选项");}} else if (choose.equals("2")) {//宝马System.out.println("请选择汽车品牌:1、宝马X6   2、宝马550i");choose=sc.next();if (choose.equals("1")){return 1;} else if (choose.equals("2")) {return 0;}}else {System.out.println("输入错误,没有这个选项");}return -1;}//定义一个方法用于返回客车对应的索引public static int choosePassengerCarIndex(){Scanner sc=new Scanner(System.in);String choose=""; //选择汽车System.out.println("请选择你要租赁的汽车品牌:1、金杯   2、金龙");choose=sc.next();if (choose.equals("1")){//金杯System.out.println("请选择你要租赁的汽车座位数:1、16座   2、32座");choose=sc.next();if (choose.equals("1")){return 0;} else if (choose.equals("2")) {return 2;}else {System.out.println("输入错误,没有这个选项");}} else if (choose.equals("2")) {//金龙System.out.println("请选择你要租赁的汽车座位数:1、16座   2、32座");choose=sc.next();if (choose.equals("1")){return 1;}else if (choose.equals("2")){return 3;}else {System.out.println("输入错误,没有这个选项");}}return -1;}}

运行效果如下图

 

 

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

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

相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Android 动画(七)AnimatorSet组合动画

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

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

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

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

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

chatgpt赋能python:Python做动画演示

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

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

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

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

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

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

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

ping命令 网络抓包 分析

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

网络抓包-抓包工具tcpdump的使用与数据分析

1.测试背景 本次测试选用两台不同的服务器&#xff0c;ip分别为.233和.246,233服务器为客户端&#xff0c;246服务器为服务端。利用tcp协议就行socket通信。socket网络编程部分示例代码为基本的通信代码&#xff0c;需要了解tcp网络通讯的基本协议与过程。服务器上采用tcpdump…

通过抓包研究TCP的连接、传输、断开

1-建立连接TCP三次握手 建立一个 TCP 连接需要“三次握手”&#xff0c;缺一不可 &#xff1a; 一次握手:客户端发送带有 SYN&#xff08;SEQx&#xff09; 标志的数据包 -> 服务端&#xff0c;然后客户端进入 SYN_SEND 状态&#xff0c;等待服务器的确认&#xff1b;二次握…

Winpcap进行抓包,分析数据包结构并统计IP流量

2020年华科计算机网络实验 文末有完整代码&#xff0c;仅限参考 一.实验目的 随着计算机网络技术的飞速发展&#xff0c;网络为社会经济做出越来越多的贡献&#xff0c;可以说计算机网络的发展已经成为现代社会进步的一个重要标志。但同时&#xff0c;计算机犯罪、黑客攻击、…

HttpCanary抓包断网问题解决方式

以上操作步骤完成&#xff0c;即可完成抓包操作

原生JS实现代码高亮功能

实现步骤 分析如何实现该功能了解词法结构Javascript的产生式少废话&#xff0c;上代码 分析如何实现该功能 平时我们在使用一些代码编辑器或者Markdown时很好奇它的代码高亮是如何 实现的。其实原理也挺简单的,就是区分代码内容的不同token并加以颜色标识。 我们将以js规则为例…