Java实现“汽车租赁项目”

1、创建租车cab父类(抽象)

package study;

//	创建抽象租车cab父类

public abstract class cab {

//	创建cab具有的公共属性

	private String brand; //	车辆的品牌

	private String licencePlateNumber;	//	车辆的车牌号码

	private double dayRent;	//	车辆的日租金

//	cab的空构造方法

	public cab() {

	}

/**cab的有参构造方法
 * @param brand
 * @param licencePlateNumber
 * @param dayRent
 */

public cab(String brand, String licencePlateNumber, double dayRent) {

	this.brand = brand;

	this.licencePlateNumber = licencePlateNumber;

	this.dayRent = dayRent;

	}

//创建cab的车辆租赁rent方法

public abstract void rent();

//	创建cab的计算租金的calcRent方法

public abstract void calcRent();

//	创建cab的get、set方法

public String getBrand() {

	return brand;

	}

public void setBrand(String brand) {

	this.brand = brand;

	}

public String getLicencePlateNumber() {

	return licencePlateNumber;

	}

public void setLicencePlateNumber(String licencePlateNumber) {

	this.licencePlateNumber = licencePlateNumber;

	}

public double getDayRent() {

	return dayRent;

	}

public void setDayRent(double dayRent) {

	this.dayRent = dayRent;

	}

}

2、创建汽车car子类继承cab父类

package study;

import java.util.Scanner;

//	创建汽车car子类

public class car extends cab {

	Scanner input = new Scanner(System.in);

	int days = 0;//	定义客户租赁的天数	

//	car的私有属性

	private String type;

//	car的空构造方法

	public car() {

	}

	/** car的有参构造方法
	 * @param brand
	 * @param licencePlateNumber
	 * @param dayRent
	 */
	public car(String brand, String licencePlateNumber, double dayRent,String type) {

		super(brand, licencePlateNumber, dayRent);

		this.type = type ;

}

//  重写cab的车辆租赁rent方法

	public  void rent(){

//		System.out.println("===========欢迎光临汽车租赁系统=============="+"\n");//	用户提示信息

		System.out.println("请输入您要租赁的汽车品牌:1.宝马\t2.别克");//	用户选择提示信息

//		获取用户输入的数字(选项)1或者2

		int brand1 = input.nextInt();

//		判断用户输入的数字

		switch (brand1){

			case 1://	第一种情况为宝马

				super.setBrand("宝马") ;

				System.out.println("请输入您要租赁的汽车型号:1.X6\t2.550i");	//	提示客户输入信息

				int type1 = input.nextInt(); //	获取用户输入信息存储到type1变量中

				if(type1==1){

					this.type = "X6";

					super.setLicencePlateNumber("京NY28588") ;

					super.setDayRent(800);

				}else{

					type = "550i";

					super.setLicencePlateNumber("京CNY3284");

					super.setDayRent(600);

				}

				break;

			case 2://	第一种情况为别克

				super.setBrand("别克") ;

				System.out.println("请输入您要租赁的汽车型号:1.林荫大道\t2.GL8");	//	提示客户输入信息

					int type2 = input.nextInt();//	获取用户输入信息存储到type2变量中

					if(type2==1){

						this.type = "林荫大道";

						super.setLicencePlateNumber("京NT37465");

						super.setDayRent(300);

					}else{

						this.type = "GL8";

						super.setLicencePlateNumber("京NT96968");

						super.setDayRent(600);

					}

					break;

			default:

	}	

}

//	重写租金计算的方法

	public  void calcRent(){

//		double discount = 1.0;//	定义折扣变量并赋初始值为1,即不打折扣

		System.out.println("请输入您要租赁的天数:");//	提示用户输入租赁的天数

		days = input.nextInt();//	将获取的天数存储到days变量中

		if(days<=7){

			System.out.println("您成功的租赁了"+super.getBrand()+"\t"+type+" ;"+"车牌号为:"+super.getLicencePlateNumber()+" "+";"+"您需要支付的金额为:"+super.getDayRent()*(days)*1+"元人民币。");

		}else if(7<days&&days<=30){

			System.out.println("您成功的租赁了"+super.getBrand()+"\t"+type+" ;"+"车牌号为:"+super.getLicencePlateNumber()+" "+";"+"您需要支付的金额为:"+super.getDayRent()*(days)*(0.9)+"元人民币。");

		}else if(30<days&&days<=150){

			System.out.println("您成功的租赁了"+super.getBrand()+"\t"+type+" ;"+"车牌号为:"+super.getLicencePlateNumber()+" "+";"+"您需要支付的金额为:"+super.getDayRent()*(days)*(0.8)+"元人民币。");

		}else{

			System.out.println("您成功的租赁了"+super.getBrand()+"\t"+type+" ;"+"车牌号为:"+super.getLicencePlateNumber()+" "+";"+"您需要支付的金额为:"+super.getDayRent()*(days)*(0.7)+"元人民币。");

		}

	}

//	car的get、set方法

	public String getType() {

		return type;

	}

	public void setType(String type) {

		this.type = type;

	}

}

3、创建测试类一

package study;

//	创建测试类

public class Demo {

	public static void main(String[] args) {

		cab car = new car ();

		car.rent();

		car.calcRent();

	}

}

编译结果一:

===========欢迎光临汽车租赁系统==============

请输入您要租赁的汽车品牌:1.宝马	2.别克
2
请输入您要租赁的汽车类型:1.林荫大道	2.GL8
1
请输入您要租赁的天数:
1
您成功的租赁了别克	林荫大道 ;车牌号为:京NT37465 ;您需要支付的金额为:300.0元人民币。

4、增加一个bus子类

package study;

import java.util.Scanner;

//创建客车bus子类

public class bus extends cab {

	Scanner input = new Scanner(System.in);

	int days = 0;//	定义客户租赁的天数	

//	bus的私有属性

	private int seat;

//	bus的空构造方法

	public bus() {

	}

	/** bus的有参构造方法
	 * @param brand
	 * @param licencePlateNumber
	 * @param dayRent
	 */
	public bus(String brand, String licencePlateNumber, double dayRent,int seat) {

		super(brand, licencePlateNumber, dayRent);

		this.seat = seat ;

}

//  重写bus的车辆租赁rent方法

	public  void rent(){

//		System.out.println("===========欢迎光临汽车租赁系统=============="+"\n");//	用户提示信息

		System.out.println("请输入您要租赁的客车品牌:1.金杯\t2.金龙");//	用户选择提示信息

//		获取用户输入的数字(选项)1或者2

		int brand1 = input.nextInt();

//		判断用户输入的数字

		switch (brand1){

			case 1://	第一种情况为金杯

				super.setBrand("金杯") ;

				System.out.println("请输入您要租赁的客车座位数:1.16\t2.34");	//	提示客户输入信息

				int seat1 = input.nextInt(); //	获取用户输入信息存储到type1变量中

				if(seat1==1){

					this.seat = 16;

					super.setLicencePlateNumber("京6566754") ;

					super.setDayRent(800);

				}else{

					this.seat = 34;

					super.setLicencePlateNumber("京9696996");

					super.setDayRent(1500);

				}

				break;

			case 2://	第一种情况为金龙

				super.setBrand("金龙") ;

				System.out.println("请输入您要租赁的汽车型号:1.16\t2.34");	//	提示客户输入信息

					int seat2 = input.nextInt();//	获取用户输入信息存储到type2变量中

					if(seat2==1){

						this.seat = 16;

						super.setLicencePlateNumber("京8696997");

						super.setDayRent(300);

					}else{

						this.seat = 34;

						super.setLicencePlateNumber("京8696998");

						super.setDayRent(1500);

					}

					break;

			default:

	}	

}

//	重写租金计算的方法

	public  void calcRent(){

//		double discount = 1.0;//	定义折扣变量并赋初始值为1,即不打折扣

		System.out.println("请输入您要租赁的天数:");//	提示用户输入租赁的天数

		days = input.nextInt();//	将获取的天数存储到days变量中

		if(days<=7){

			System.out.println("您成功的租赁了"+super.getBrand()+"\t"+seat+" ;"+"车牌号为:"+super.getLicencePlateNumber()+" "+";"+"您需要支付的金额为:"+super.getDayRent()*(days)*1+"元人民币。");

		}else if(7<days&&days<=30){

			System.out.println("您成功的租赁了"+super.getBrand()+"\t"+seat+" ;"+"车牌号为:"+super.getLicencePlateNumber()+" "+";"+"您需要支付的金额为:"+super.getDayRent()*(days)*(0.9)+"元人民币。");

		}else if(30<days&&days<=150){

			System.out.println("您成功的租赁了"+super.getBrand()+"\t"+seat+" ;"+"车牌号为:"+super.getLicencePlateNumber()+" "+";"+"您需要支付的金额为:"+super.getDayRent()*(days)*(0.8)+"元人民币。");

		}else{

			System.out.println("您成功的租赁了"+super.getBrand()+"\t"+seat+" ;"+"车牌号为:"+super.getLicencePlateNumber()+" "+";"+"您需要支付的金额为:"+super.getDayRent()*(days)*(0.7)+"元人民币。");

		}

	}

//	car的get、set方法

	public int getSeat() {

		return seat;

	}

	public void setSeat(int seat) {

		this.seat = seat;

	}

}

修改测试类

package study;

import java.util.Scanner;

//	创建测试类

public class Demo {

	public static void main(String[] args) {

		System.out.println("===========欢迎光临汽车租赁系统=============="+"\n");

		System.out.println("请输入您要租赁的车辆类型:1.汽车\t2.客车");

		Scanner input = new Scanner(System.in);

		int type = input.nextInt();

		if(type==1){

			cab car = new car ();

			car.rent();

			car.calcRent();

		}else{

			cab bus = new bus ();

			bus.rent();

			bus.calcRent();
		}

	}

}

编译结果二:

===========欢迎光临汽车租赁系统==============

请输入您要租赁的车辆类型:1.汽车	2.客车
1
请输入您要租赁的汽车品牌:1.宝马	2.别克
1
请输入您要租赁的汽车型号:1.X6	2.550i
1
请输入您要租赁的天数:
23
您成功的租赁了宝马X6 ;车牌号为:京NY28588 ;您需要支付的金额为:16560.0元人民币。
时间: 2024-10-05 04:54:51

Java实现“汽车租赁项目”的相关文章

汽车租赁项目业务流程总结

-一.需求分析 -二. -一.需求分析与数据表设计 需求图: 发现类: 01.moto类(汽车父类): 01.1:bus类(客车类) 01.2:car类(轿车类) 01.3:truck类(卡车类) 02.mototype类(汽车类型类) 03.用户类:软件系统的使用者,登录该系统 管理的 人,比如:管理员.业务经理等. 04.客户类:租车的人. 05.公司类:用于处理租车换车业务流程的人. -二.设计概要设计 数据库设计: -三.详细设计 实现各车的信息录入 一个问题:卡车跟大巴和轿车录入是不一

基于Android平台的汽车租赁平台项目的数据库设计心得

我们团队的项目是基于Android平台的汽车租赁平台,其分为手机客户端与web后台管理系统,用以满足租车公司的业务需求,故数据库设计对于本项目显得尤为重要,我们团队数据库设计最开始用的是最原始的方式:Word手动输入,但随后随着数据库课程以及实验的学习,我们最后使用的PowerDesigner设计的数据库并生成了SQL文件,导入数据库完成的数据库最终设计与搭建,我们团队于第8周完成了数据库的搭建. 数据库设计中,数据库要严格与项目需求相联系,同时保证数据库数据完整.正确.安全以及数据处理的高效与

汽车租赁管理开发流程的博客

在这个暑假假期中,我们团队做了一个汽车的租赁管理的网站,我们团队采用分工的开发的方式,其中史秀源负责这个系统的统筹管理,罗竣元负责汽车管理的模块,谭枝敬负责前台职工管理,卢伟斌负责前台管理,闫龙飞负责后台的管理.我们的分工的系统是放在码 云上(https://git.oschina.net/nn839155963)和用smartgit进行项目的管理的,现在我们的car 项目截图如下,每个成员将自己修改的内容pull到码云上,其他成员实时更新网站上的东西,整个团队就可以知道整个项目的开发进度,从而

团队汽车租赁系统

汽车租赁管理系统: 进一步分析: 我们小组做的是新的管理系统,对软件暑假的那个项目有了基础的了解以后做了一个新的项目,在原先的基础上,清楚的了解了项目的各个实行方面,一共分成七块部分:首页,关于我们,汽车租赁,收费标准,订单查询,租赁咨询,联系我们.然后更加完善了每一个部分的内容,比如在汽车租赁方面我们把每一辆汽车的价格型号都清楚的展现了出来. 研究项目需求: 集中数据管理.分布式应用,实现信息的全面共享,为决策者提供最新的人力资源数据. 完全基于浏览器的操作模式,操作方便,具有良好的系统扩充能

汽车租赁解法一

public abstract class Auto { private String carName; private String carColor; private int carAge; private float carPrice; public Auto() { super(); } public Auto(String carName, String carColor, int carAge, float carPrice) { super(); this.carName = ca

java枚举在android项目应用

今天修复一个公司很早以前的android应用功能,里面的代码逻辑已经完全错乱,然后发现返回的数据完全不对了.然后修复了整整两天.然后我重新整理了一遍,重构就算不上了.然后就用上了枚举. 什么是枚举?我以前也不懂,当时我看见公司的项目中使用了枚举当做项目一个控制,比如修改已经写好的app然后为一些手机厂商做定制版.可能要去掉广告,还有跳转到商店url都不同,特别是国内基本都没有google play.我们为了避免以后的修改,就会写个枚举来控制它. public enum Market { Defa

汽车租赁系统总结

汽车租赁系统有一下功能 功能一(租车): 描述:显示系统中所有可租的汽车,选中要出租的汽车,输出租用人已租出汽车 功能二(还车): 描述:在还车列表中选中汽车信息,输入出租天数,计算租金 功能三(新车入库): 描述:需要录入汽车的车牌号,车型,颜色,使用时间和每日租金,如果是卡车还是要录入卡车的载重量 本租车系统要有三个类,有一个父类为(Vehicle),子类分别是(Truck)和(Car) 父类关键代码如下: Truck子类代码如下: Car子类代码如下: 要初始化租车信息: 然后将数据绑定到

java web 手动部署项目步骤

java Web 手动部署项目步骤 1 在tomcat下面的webapps下面建立需要部署的文件夹(eg:demo);2 在demo下建立 WEB-INF WETA-INF src 文件夹;3 在src下建立新的servlet.java文件4 在WEB-INF下面建立classes和web.xml文件 5通过命令“javac -d 目录地址 文件名” 编译servlet,前提是必须把tomcat目录下的lib里面的servlet-api.jar拷贝到当前的servlet源文件目录下. 在配置环境

继承与多态之汽车租赁系统

1.租车 显示系统中所有可出租的汽车,选中要出租的汽车,输入租用人以出租汽车,如图所示 2.还车 在还车列表中选择汽车信息,输入出租天数,计算租金,如图所示 3.新车入库 需要录入汽车的车牌号,车型,颜色,使用时间,和每日租金,如果是卡车还要录入卡车的载重,如图所示 具体实现过程: 1.搭建系统 按照类图创建类,体会Vehicle,Trech和Car三个类之间的关系 Car类: namespace _09汽车租赁系统{public class Car:Vehicle{public Car(str