项目背景分析:
根据所学知识编写一个控制台程序“答答租车系统”
功能:
1.展示所以可租车辆
2.选择车型,租车量
3.展示租车清单,包括:总金额,总载货量及其车型,总载人量及其车型
Car.java
public class Car {
public String name;
public double rent;
public void setName(String name) {
this.name=name;
}
public String getName() {
return name;
}
public void setRent(double rent) {
this.rent=rent;
}
public double getRent() {
return rent;
}
}
PassengerCar.java
public class PassengerCar extends Car{
public int pCapacity;
public void setpCapacity(int pCapacity) {
this.pCapacity=pCapacity;
}
public int getpCapacity() {
return pCapacity;
}
public PassengerCar(String Aname,double Arent,int ApCapacity) {
name=Aname;
rent=Arent;
pCapacity=ApCapacity;
}
}
TruckCar.java
public class TruckCar extends Car{
public int tCapacity;
public void settCapacity(int tCapacity) {
this.tCapacity=tCapacity;
}
public int gettCapacity() {
return tCapacity;
}
public TruckCar(String Aname,double Arent,int AtCapacity) {
name=Aname;
rent=Arent;
tCapacity=AtCapacity;
}
}
PickUp.java
public class PickUp extends Car{
public int pCapacity;
public int tCapacity;
public void setpCapacity(int pCapacity) {
this.pCapacity=pCapacity;
}
public int getpCapacity() {
return pCapacity;
}
public void settCapacity(int tCapacity) {
this.tCapacity=tCapacity;
}
public int gettCapacity() {
return tCapacity;
}
public PickUp(String Aname,double Arent,int ApCapacity,int AtCapacity) {
name=Aname;
rent=Arent;
pCapacity=ApCapacity;
tCapacity=AtCapacity;
}
}
Test.java
import java.util.Scanner;
public class Test {
public static void main(String args[]) {
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容量");
Car[] cars= {new PassengerCar("奥迪A4", 500, 4),new PassengerCar("马自达4", 400, 4),
new PickUp("皮卡雪6", 150, 4, 2),new PassengerCar("金龙", 800, 20),
new TruckCar("松花江", 400, 4),new TruckCar("松花江", 400, 4)};
int index=1;
for(Car car:cars) {
if(car instanceof PassengerCar) {
System.out.println(" "+index+"\t"+car.getName()+"\t"+car.getRent()+"\t载客:"+((PassengerCar)car).getpCapacity());
}else if(car instanceof PickUp) {
System.out.println(" "+index+"\t"+car.getName()+"\t"+car.getRent()+"\t载客:"+((PickUp)car).getpCapacity()+"\t载货:"+((PickUp)car).gettCapacity());
}
else {
System.out.println(" "+index+"\t"+car.getName()+"\t"+car.getRent()+"\t载货:"+((TruckCar)car).gettCapacity());
}
index++;
}
System.out.println("请输入你要租车的数量");
int rentNums=scan.nextInt();
int rentdays;
int rentFare=0;
String passCarName =new String();
String truckCarName =new String();
int indexCar;
int pCap=0;
int tCap=0;
for(int i=0;i<rentNums;i++) {
System.out.println("请输入第"+(i+1)+"辆车的序号");
indexCar=scan.nextInt()-1;
if(cars[indexCar] instanceof PassengerCar){
passCarName +=cars[indexCar].name+"\t";
pCap +=((PassengerCar)(cars[indexCar])).getpCapacity();
}else if(cars[indexCar] instanceof PickUp){
passCarName +=cars[indexCar].name+"\t";
truckCarName +=cars[indexCar].name+"\t";
pCap +=((PickUp)(cars[indexCar])).getpCapacity();
tCap +=((PickUp)(cars[indexCar])).gettCapacity();
}
else{
truckCarName +=cars[indexCar].name+"\t";
tCap +=((TruckCar)(cars[indexCar])).gettCapacity();
}
rentFare +=cars[indexCar].rent;
}
System.out.println("请输入租车天数");
rentdays=scan.nextInt();
System.out.println("你的账单");
System.out.println("****可载人的车有:");
System.out.println(passCarName+"共载人为:"+pCap);
System.out.println("可载货的车有:");
System.out.println(truckCarName+"共载人为:"+tCap);
System.out.println("****租车的总价格为:");
System.out.println(rentFare*rentdays);
}
}
}
运行结果
欢迎使用答答租车系统
你是否需要租车 1:是,0:不是
1
你可租车的类及其价目表
序号 汽车名称 租金 容量
1 奥迪A4 500.0 载客:4
2 马自达4 400.0 载客:4
3 皮卡雪6 150.0 载客:4 载货:2
4 金龙 800.0 载客:20
5 松花江 400.0 载货:4
6 松花江 400.0 载货:4
请输入你要租车的数量
2
请输入第1辆车的序号
2
请输入第2辆车的序号
4
请输入租车天数
3
你的账单
****可载人的车有:
马自达4 金龙 共载人为:24
可载货的车有:
共载人为:0
****租车的总价格为:
3600