您的位置:首页 > 编程语言 > Java开发

Java实现“汽车租赁项目”

2016-07-18 11:27 501 查看



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元人民币。


本文出自 “技术进阶” 博客,请务必保留此出处http://vipnoon.blog.51cto.com/7589908/1827335
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: