答答租车系统java代码实现

根据所学的java知识实现一个小的租车系统,其中使用到了封装、继承、多态等知识!

子类:

public class Trunk extends Car {
private double cargocapacity;
public  Trunk(String name,double price,double cargocapacity) {
this.name = name;
this.price = price;
this.cargocapacity = cargocapacity;

}

public double getCargocapacity() {
return cargocapacity;
}
public void setCargocapacity(double cargocapacity) {
this.cargocapacity = cargocapacity;
}



}

public class PickUp extends Car {
private double cargocapacity;
private double peoplecapacity;
public  PickUp(String name,double price,double peoplecapacity,double cargocapacity) {
this.name = name;
this.price = price;
this.cargocapacity = cargocapacity;
this.peoplecapacity = peoplecapacity;
}

public double getCargocapacity() {
return cargocapacity;
}
public void setCargocapacity(double cargocapacity) {
this.cargocapacity = cargocapacity;
}
public double getPeoplecapacity() {
return peoplecapacity;
}
public void setPeoplecapacity(double peoplecapacity) {
this.peoplecapacity = peoplecapacity;
}
}

public class passengerCar extends Car {


private double peoplecapacity;

public  passengerCar(String name,double price,double peoplecapacity) {
this.name = name;
this.price = price;
this.peoplecapacity = peoplecapacity;
}

public double getPeoplecapacity() {
return peoplecapacity;
}
public void setPeoplecapacity(double peoplecapacity) {
this.peoplecapacity = peoplecapacity;
}


}

public class Car {
public String  name;
public double price;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}

主程序:

import java.util.Scanner;
public class SystemCar {


public static void main(String[] args) {
Car[] carsForRent= {new passengerCar("奥迪A4",500,4),new passengerCar("马自达6",400,4),new PickUp("皮卡雪6",450,4,2),new passengerCar("金龙",800,20),new Trunk("松花江",400,4),new Trunk("依维柯",1000,20)};
System.out.println("欢迎使用答答租车系统:");
System.out.println("你是否要租车:1是 0否");
Scanner scan=new Scanner(System.in);
String input=scan.next();
if(input.equals("1")) {
System.out.println("你可租车的类型及其价目表:");
System.out.println("序号\t汽车名称\t租金\t\t容量");
int i=1;
for(Car currentCar:carsForRent) {
if(currentCar instanceof passengerCar){
System.out.println(""+i+".\t"+currentCar.getName()+"\t"+currentCar.getPrice()+"元/天\t"+"载人:"+((passengerCar)currentCar).getPeoplecapacity()+"人");
}
if(currentCar instanceof PickUp) {
System.out.println(""+i+".\t"+currentCar.getName()+"\t"+currentCar.getPrice()+"元/天\t"+"载人:"+((PickUp)currentCar).getPeoplecapacity()+"载货:"+((PickUp)currentCar). getCargocapacity()+"吨");
}
if(currentCar instanceof Trunk) {
System.out.println(""+i+".\t"+currentCar.getName()+"\t"+currentCar.getPrice()+"元/天\t"+"载货:"+((Trunk)currentCar). getCargocapacity()+"吨");
}
i++;

}
System.out.println("请输入您要租汽车的数量:");
int totalNum=scan.nextInt();
Car[] peopleCar= new Car[totalNum] ;
Car[] cargo= new Car[totalNum] ;
double totalMoney=0;
double totalPeople=0;
double totalGoods=0;
int p=0,q=0;
for(int j=1;j<=totalNum;j++) {
System.out.println("请输入第"+j+"辆车的序号:");
int idNum=scan.nextInt();
totalMoney+=carsForRent[idNum-1].getPrice();

if(carsForRent[j-1]instanceof passengerCar) {
peopleCar[p++]=carsForRent[idNum-1];
totalPeople+=((passengerCar)carsForRent[idNum-1]).getPeoplecapacity() ;
}

if(carsForRent[j-1]instanceof Trunk) {
cargo[q++]=carsForRent[idNum-1];
totalGoods+=((Trunk)carsForRent[idNum-1]).getCargocapacity();
}
if(carsForRent[j-1]instanceof PickUp) {
peopleCar[p++]=carsForRent[idNum-1];
totalPeople+=((PickUp)carsForRent[idNum-1]).getPeoplecapacity() ;
cargo[q++]=carsForRent[idNum-1];
totalGoods+=((PickUp)carsForRent[idNum-1]).getCargocapacity();
}
}
System.out.println("请输入租车的天数:");
int day=scan.nextInt();
totalMoney*=day;
System.out.println("您的账单:");
System.out.println("***可载人的车有:");
for(int l=0;l<p;l++) {
System.out.print(peopleCar[l].getName()+"\t");
}
System.out.print("共载人:"+totalPeople+"人");
System.out.println();
System.out.println("***可载货的车有:");
for(int k=0;k<q;k++) {
System.out.print(cargo[k].getName()+"\t");
}
System.out.print("共载货:"+totalGoods+"吨");
System.out.println();
System.out.println("***租车的总价格:"+totalMoney+"元");
}
}
}

实现结果:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值