首页 > 技术文章 > 慕课网-哒哒租车系统

shamoguzhou 2017-06-16 17:46 原文

//定义一个父类

public class Car {
      String name;//车名
      double  rent;//租金
    public String getName(){
            return name;
    }
    public void setName(String carName){
            this.name=carName;
    }
    public double getRent(){
            return  rent;
    }
    public void setRent(String carRent){
        this.name=carRent;
    }
}
//定义客车并继承Car

public class PassengerCar extends Car {
    private int  peopleCapacity;//载客量
    public PassengerCar(String name,double rent,int peopleCapacity){//构造方法可以在实例化对象时候直接这个对象进行赋值
           this.name=name;
           this.rent=rent;
           this.peopleCapacity=peopleCapacity;
   }
   public int getPeopleCapacity(){
           return peopleCapacity;
   }
   public void setPeopleCapacity(int  peoplecapacity){
           this.peopleCapacity=peoplecapacity;
   }
}

//定义货车并继承Car

public class Truck extends Car {
    private int cargoCapacity;//载货量
    public int getCargoCapacity(){
            return cargoCapacity;
    }
    public void setCargoCapacity(int cargocapacity){
            this.cargoCapacity=cargocapacity;
    }
    public Truck(String name,double rent,int cargoCapacity){//构造方法可以在实例化对象时候九尾这个对象进行赋值
            this.name=name;//this.name是访问成员变量
            this.rent=rent;
            this.cargoCapacity=cargoCapacity;
    }
}

//定义一个测试类

import java.util.Scanner;
public class Test {
    public static void main(String[] args){//定义一个类数组
        Car[] car={new PassengerCar("奥迪",500,4),new PassengerCar("马自达",400,4),new Truck("金龙",800,20),new Truck("松花江",400,4),new Truck("依维柯",1000,20)};
        System.out.println("欢迎使用答答租车系统");
        System.out.println("你是否要租车:1是 2否");
        int peopleCapacity=0;
        int cargoCapacity=0;
        int totalRent=0;//总的租金
        Scanner scan=new Scanner(System.in);
        int input=scan.nextInt();//这两句是读取输入值
        if(input==1){
                System.out.println("你可租车的类型及其价格表:");
                System.out.print("序号\t\t汽车名称\t\t租金\t\t容量\t\t\n");
                int i=1;
                for(Car Cars:car){
                        if(Cars instanceof PassengerCar){
                            System.out.println(" "+i+"\t\t"+Cars.getName()+"\t\t"+Cars.getRent()+"元/天\t"+((PassengerCar)Cars).getPeopleCapacity()+"人\t\t");

                        }else{
                            System.out.println(" "+i+"\t\t"+Cars.getName()+"\t\t"+Cars.getRent()+"元/天\t"+((Truck)Cars).getCargoCapacity()+"吨\t\t");
                        }
                        ++i;
                }
                System.out.println("请输入你要租车的数量:");
                int count=scan.nextInt();
                for(int j=0;j<count;j++){
                    System.out.println("请输入您要选择的第"+(j+1)+"辆车的序号");
                    int chooseNum=scan.nextInt();
                    System.out.println("你选择的是第"+chooseNum+"号车型");
                    if(car[chooseNum-1] instanceof PassengerCar){
                            System.out.println(car[chooseNum-1].getName()+"\t\t"+car[chooseNum-1].getRent()+"元/天\t"+((PassengerCar)car[chooseNum-1]).getPeopleCapacity()+"人\t\t");
                            peopleCapacity+=((PassengerCar)car[chooseNum-1]).getPeopleCapacity();
                    }else{
                            System.out.println(car[chooseNum-1].getName()+"\t\t"+car[chooseNum-1].getRent()+"元/天\t"+((Truck)car[chooseNum-1]).getCargoCapacity()+"人\t\t");
                            cargoCapacity+=((Truck)car[chooseNum-1]).getCargoCapacity();
                    }
                    totalRent+=car[chooseNum-1].getRent();
                }
                System.out.println("请输入你租车的天数");
                int days=scan.nextInt();
                System.out.println("你租赁了"+count+"辆车");
                System.out.println("总载客量为"+peopleCapacity+"人");
                System.out.println("总载货量为"+cargoCapacity+"吨");
                System.out.println("总租金为"+totalRent*days+"元");
          }else{
            System.out.println("再见");  
          }
     }
}

结果:

欢迎使用答答租车系统
你是否要租车:1是 2否
1
你可租车的类型及其价格表:
序号        汽车名称        租金        容量        
 1        奥迪        500.0元/天    4人        
 2        马自达        400.0元/天    4人        
 3        金龙        800.0元/天    20吨        
 4        松花江        400.0元/天    4吨        
 5        依维柯        1000.0元/天    20吨        
请输入你要租车的数量:
3
请输入您要选择的第1辆车的序号
1
你选择的是第1号车型
奥迪        500.0元/天    4人        
请输入您要选择的第2辆车的序号
2
你选择的是第2号车型
马自达        400.0元/天    4人        
请输入您要选择的第3辆车的序号
3
你选择的是第3号车型
金龙        800.0元/天    20人        
请输入你租车的天数
3
你租赁了3辆车
总载客量为8人
总载货量为20吨
总租金为5100元

推荐阅读