慕课练习——答答租车系统

项目背景分析:

根据所学知识编写一个控制台程序“答答租车系统”

功能:

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
 

猜你喜欢

转载自blog.csdn.net/xxx_1_1/article/details/81317565