//父类
public abstract class Car {
//使用封装概念,设置属性
private String name;
private double rent;
private int Manned;
private double Cargo;
//使用set、get方法读写属性
public int getManned() {
return Manned;
}
public void setManned(int manned) {
Manned = manned;
}
public double getCargo() {
return Cargo;
}
public void setCargo(double cargo) {
Cargo = cargo;
}
public double getRent() {
return rent;
}
public void setRent(double rent) {
this.rent = rent;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//继承父类
public class PassengerCar extends Car {
//使用this方法
public PassengerCar(String name, double rent,int manned) {
this.setName(name);
this.setRent(rent);
this.setManned(manned);
}
public String toString() {
return this.getName()+"\t"+this.getRent()+"/天"+"\t"+"可乘坐:"+this.getManned()+"人";
}
//继承父类
public class CargoCapacity extends Car {
public CargoCapacity(String name, double rent,double Cargo) {
this.setName(name);
this.setRent(rent);
this.setCargo(Cargo);
}
public String toString() {
return this.getName()+"\t"+this.getRent()+"/天"+"\t"+"可载货:"+this.getCargo()+"吨";
}
//继承父类
public class Pickup extends Car {
public Pickup(String name, double rent, int manned,double cargo) {
this.setName(name);
this.setRent(rent);
this.setManned(manned);
this.setCargo(cargo);
}
public String toString() {
return this.getName()+"\t"+this.getRent()+"/天"+"\t"+"可乘坐"+this.getManned()+"人,"+"载货"+this.getCargo()+"吨";
}
//测试类
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("欢迎使用答答租车系统");
System.out.println("您是否要租车: 1是 0否");
Car[] au = {new PassengerCar("奥迪A8L",800,1),new PassengerCar("大金龙",1000,1),
new CargoCapacity("福田欧曼",1200,5),new CargoCapacity("一汽解放",950,40),
new Pickup("皮卡",1500,1,2)};
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
if(input.equals("1")) {
System.out.println("您可租车的类型及其价目表");
System.out.println("序号\t汽车名称\t租金\t\t容量");
for(int i = 0; i<au.length; i++) {
System.out.println((i+1)+"\t"+au[i]);
}
}else if(input != "1") {
System.out.println("感谢您使用答答租车系统,祝您生活愉快!!");
}
System.out.println("请您输入需要租赁汽车的数量:");
int carcount = sc.nextInt();
//更新车辆数组
Car[] newcar=new Car[carcount];
double bills=0;
int zren=0;
double zhuo=0;
for(int i=0;i<carcount;i++) {
System.out.println("请您输入第"+(i+1)+"辆车的序号:");
int carnum=sc.nextInt();
newcar[i] = au[carnum-1];
}
System.out.println("请你输入租赁的天数:");
int day=sc.nextInt();
//计算租金
for(int i=0;i<carcount;i++) {
bills=bills+newcar[i].getRent()*day;
}
//输出账单
System.out.println("你的账单");
//列出所选乘用车并计算总的载人数
System.out.println("*****可载人的车有");
for(int i=0;i<carcount;i++) {
if(newcar[i].getManned() != 0) {
zren += newcar[i].getManned();
System.out.println(newcar[i]);
}
}
System.out.println("*****可载货的车有");
for(int i = 0 ;i<carcount;i++) {
if(newcar[i].getCargo() != 0) {
zhuo +=newcar[i].getCargo();
System.out.println(newcar[i]);
}
}
System.out.println("共可载客"+zren+"人");
System.out.println("共可载货"+zhuo+"吨");
System.out.println("请付租金"+bills+"元");
}