看了很多份代码,终于写完了
package com.imooc.car_rental; /* * 汽车父类 */ public class Car { private String name;//车名 private float rental;//租金 public Car(String name,float rental){ this.name=name; this.rental=rental; } public String getName() { return name; } public float getRental() { return rental; }
package com.imooc.car_rental;
/*
* 轿车类
*/
public class Sedan extends Car {
private int seatingCapacity;//载客人数
public Sedan(String name,float rental,int seatingCapacity){
super(name,rental);
this.seatingCapacity=seatingCapacity;
}
public int getSeatingCapacity(){
return seatingCapacity;
}
}
package com.imooc.car_rental;
/*
* 货车类
*/
public class Truck extends Car {
private float cargoCapacity;//载货量
public Truck(String name, float rental,float cargoCapacity) {
super(name, rental);
this.cargoCapacity=cargoCapacity;
// TODO Auto-generated constructor stub
}
public float getCargoCapacity(){
return cargoCapacity;
}
}
package com.imooc.car_rental; /* * 皮卡类 */ public class Pickup extends Car { private int seatingCapacity;//载客人数 private float cargoCapacity;//载货量 public Pickup(String name, float rental,int seatingCapacity,float cargoCapacity) { super(name, rental); this.seatingCapacity=seatingCapacity; this.cargoCapacity=cargoCapacity; // TODO Auto-generated constructor stub } public int getSeatingCapacity(){ return seatingCapacity; } public float getCargoCapacity(){ return cargoCapacity; } }
package com.imooc.car_rental;
import java.util.Scanner;
/*
* 租车系统
*/
public class CarRentalSystem {
//菜单
public void menu(){
//创建Scanner对象
Scanner scan=new Scanner(System.in);
System.out.println("欢迎使用答答租车系统:");
System.out.println("您是否要租车:1是 0否");
int num=scan.nextInt();
if(num==1){
//进入租车菜单
carRentalMenu();
}else{
System.out.println("为您退出答答租车");
System.exit(0);
}
}
//汽车列表
public void carRentalMenu(){
//创建Scanner对象
Scanner scan=new Scanner(System.in);
System.out.println("您可租车的类型及其价目表:");
Car[] cars={new Sedan("奥迪A4", 500, 4),
new Sedan("马自达6", 400, 4),
new Pickup("皮卡雪6",450,4,2),
new Sedan("金龙 ",800,20),
new Truck("松花江",400,4),
new Truck("依维柯",1000,20)};
System.out.println("序号\t名称\t\t租金\t\t\t容量");
//输出汽车列表
for(int i=0;i<cars.length;i++){
//判断汽车类型
if(cars[i] instanceof Sedan){
Sedan car=(Sedan)cars[i];
System.out.println((i+1)+"\t"+car.getName()+"\t"+car.getRental()+"元/天\t载人:"+car.getSeatingCapacity()+"人");
}else if(cars[i] instanceof Pickup){
Pickup car=(Pickup)cars[i];
System.out.println((i+1)+"\t"+car.getName()+"\t"+car.getRental()+"元/天\t载人:"+car.getSeatingCapacity()+"人"+"载货:"+car.getCargoCapacity()+"吨");
}else if(cars[i] instanceof Truck){
Truck car=(Truck) cars[i];
System.out.println((i+1)+"\t"+car.getName()+"\t"+car.getRental()+"元/天\t载货:"+car.getCargoCapacity()+"吨");
}
}
/*for(Car car:cars){//需要重写toString()方法
System.out.println(car.toString());
}*/
System.out.println("请输入您要租汽车车的数量");
int rent_num=scan.nextInt();
int id;//定义编号
Car[] rent_cars=new Car[rent_num];//定义数组保存租出的车
//定义总租金、总载人量、总载货量变量
float totalRent=0;
int totalSeating=0;
float totalCargo=0;
for(int i=0;i<rent_num;i++){
System.out.println("请输入第"+(i+1)+"辆车的编号");
id=scan.nextInt();
rent_cars[i]=cars[id-1];
//判断汽车类型
if(cars[id-1] instanceof Sedan){
Sedan car=(Sedan) cars[id-1];
totalRent+=car.getRental();
totalSeating+=car.getSeatingCapacity();
}else if(cars[id-1] instanceof Pickup){
Pickup car=(Pickup)cars[id-1];
totalRent+=car.getRental();
totalSeating+=car.getSeatingCapacity();
totalCargo+=car.getCargoCapacity();
}else if(cars[id-1] instanceof Truck){
Truck car=(Truck) cars[id-1];
totalRent+=car.getRental();
totalCargo+=car.getCargoCapacity();
}
}
System.out.println("请选择要租用的天数");
int rent_day=scan.nextInt();
totalRent*=rent_day;//计算总金额
System.out.println("**************************");
System.out.println("您的账单:");
System.out.println("***可载人的车有:");
for(int i=0;i<rent_cars.length;i++){
if(!(rent_cars[i] instanceof Truck)){
System.out.print(rent_cars[i].getName()+"\t");
}
}
System.out.println("共载人:"+totalSeating+"人");
System.out.println("***可载货的车有:");
for(int i=0;i<rent_cars.length;i++){
if(!(rent_cars[i] instanceof Sedan)){
System.out.print(rent_cars[i].getName()+"\t");
}
}
System.out.println("共载货:"+totalCargo+"吨");
System.out.println("***租车总金额为:"+totalRent+"元");
}
}
/*测试类*/
package com.imooc.car_rental;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
CarRentalSystem car=new CarRentalSystem();
car.menu();
}
}