汽车租赁系统(JAVA)

news/2024/11/28 17:36:44/

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

 

 

最终实现效果

 

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.ppmy.cn/news/686913.html

相关文章

租车小程序

一、问题描述 编写一个控制台程序&#xff0c;要求实现如下功能&#xff1a; 1.展示所有可租车辆 2.选择车型&#xff0c;租车量 3.显示租车清单&#xff0c;包括&#xff1a;总载货量&#xff0c;总载客量&#xff0c;总金额等&#xff1b; 4.车辆类型 客车&#xff1a;…

租车app都有哪些,租车app都有哪些功能

类似神州租车app开发&#xff0c;类似神州租车app开发多少钱&#xff0c;类似神州租车app贴牌开发&#xff0c;租车app开发哪家公司好&#xff0c;租车app都有哪些&#xff0c;租车平台定制开发&#xff0c;租车APP开发&#xff0c;租车APP平台开发&#xff0c;租车服务平台小程…

汽车租赁APP

本文简单介绍汽车租赁APP的开发过程。汽车租赁APP利用 Eclipse、Android SDK&#xff0c;Tomcat和MySQL进行联合开发&#xff0c;系统分为客户端和服务端两部分。客户端主要负责用户的车辆信息的查询和租赁功能&#xff0c;服务端负责用户信息和租赁信息的管理和维护。   &a…

Java汽车租赁管理系统

要求&#xff1a; &#xff08;1&#xff09;设计汽车租赁管理系统&#xff0c;实现汽车租赁信息的管理&#xff0c;可对系统中的车辆进行添加、删除、修改&#xff1b; &#xff08;2&#xff09;按所选设计任务在eclipse下进行项目的开发设计&#xff0c;最终展示界面可以普通…

美国租车及自驾

美国租车自驾常见问题攻略: http://www.zuzuche.com/html/1/106.html 租车须知: http://usa.bytravel.cn/art/zcx/zcxz/ 玩转美国 自驾游租车完全攻略: http://travel.sina.com.cn/world/2010-09-29/1553144283.shtml 美国旅游省钱攻略-租车 http://lvyou.elong.com/504980…

网约车租车平台有哪些,网约车租车平台都有哪些功能

网约车租车平台哪个好&#xff0c;网约车租车平台有哪些&#xff0c;网约车租车平台都有哪些功能&#xff0c;网约车租车平台怎么制作&#xff0c;网约车租车平台开发需要多少钱&#xff0c;网约车租车平台有哪些优势&#xff0c;网约车租赁系统开发&#xff0c;网约车租赁APP开…

Nmap命令使用

该命令可以扫描目标地址所开放的端口地址&#xff0c;nmap 扫描器主要基本功能有三个&#xff0c;一是探测主机是否在线、其次是扫描主机端口、嗅探所提供的网络服务&#xff0c;还可以推断主机所用的操作系统。也可以深入探测 UDP 或者 TCP 端口&#xff0c;直至主机所使用的操…

表单(form) post 方式提交时的编码与乱码(上)

在上一篇章中谈论了表单以 get 提交时的编码与乱码问题, 这一章中将讨论以 post 方式提交时的编码与乱码问题. 在前面也同时提到, 表单有一个叫 enctype 的属性, 它有两个值, application/x-www-form-urlencoded 和 multipart/form-data. 这一属性实际只对 post 方式起作用, …