java公司现有三种车型(客车、皮卡车、货车),每种车都有名称和租金的属性;其中:客车只能载人,货车只能载货,皮卡车是客货两用车,即可以载人,也可以载货。 下面是答答租车公司的可用车型、容量及价目表: 要求:根据客户输入的所租车型的序号及天数,计算所能乘载的总人数、货物总数量及租车费用总金额。
时间: 2024-01-22 08:18:45 浏览: 128
好的,那么我们可以使用面向对象的思路来解决这个问题,首先我们需要定义一个车的类,代码如下:
```java
public class Car {
private String name; // 车名
private double rental; // 租金
public Car(String name, double rental) {
this.name = name;
this.rental = rental;
}
public String getName() {
return name;
}
public double getRental() {
return rental;
}
}
```
然后我们需要定义三种具体的车型,分别是客车、皮卡车和货车,代码如下:
```java
public class PassengerCar extends Car {
public PassengerCar(String name, double rental) {
super(name, rental);
}
public int getCapacity() {
return 50; // 客车载人容量为50人
}
public int getCargoCapacity() {
return 0; // 客车不载货物
}
}
public class PickupTruck extends Car {
public PickupTruck(String name, double rental) {
super(name, rental);
}
public int getCapacity() {
return 5; // 皮卡车载人容量为5人
}
public int getCargoCapacity() {
return 1000; // 皮卡车载货量为1000kg
}
}
public class CargoTruck extends Car {
public CargoTruck(String name, double rental) {
super(name, rental);
}
public int getCapacity() {
return 2; // 货车载人容量为2人
}
public int getCargoCapacity() {
return 5000; // 货车载货量为5000kg
}
}
```
现在我们可以定义一个租车公司类,用于管理车辆和计算租车费用等功能,代码如下:
```java
import java.util.Scanner;
public class CarRentalCompany {
private Car[] cars; // 可用车辆
private int passengerCarCount; // 客车数量
private int pickupTruckCount; // 皮卡车数量
private int cargoTruckCount; // 货车数量
public CarRentalCompany() {
// 初始化可用车辆
cars = new Car[3];
cars[0] = new PassengerCar("客车", 800);
cars[1] = new PickupTruck("皮卡车", 1000);
cars[2] = new CargoTruck("货车", 1500);
// 初始化车辆数量
passengerCarCount = 5;
pickupTruckCount = 3;
cargoTruckCount = 2;
}
public void rentCar() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要租的车型序号(1.客车 2.皮卡车 3.货车):");
int carType = scanner.nextInt();
System.out.println("请输入要租的天数:");
int days = scanner.nextInt();
Car car = null;
switch (carType) {
case 1:
if (passengerCarCount > 0) {
car = cars[0];
passengerCarCount--;
} else {
System.out.println("客车已全部租出!");
return;
}
break;
case 2:
if (pickupTruckCount > 0) {
car = cars[1];
pickupTruckCount--;
} else {
System.out.println("皮卡车已全部租出!");
return;
}
break;
case 3:
if (cargoTruckCount > 0) {
car = cars[2];
cargoTruckCount--;
} else {
System.out.println("货车已全部租出!");
return;
}
break;
default:
System.out.println("输入有误!");
return;
}
int totalPassenger = car.getCapacity();
int totalCargo = car.getCargoCapacity();
double totalRental = car.getRental() * days;
System.out.println("总载人量:" + totalPassenger + "人");
System.out.println("总载货量:" + totalCargo + "kg");
System.out.println("总租金:" + totalRental + "元");
}
}
```
最后,我们可以在主函数中调用租车公司类的租车方法来完成租车功能,代码如下:
```java
public class Main {
public static void main(String[] args) {
CarRentalCompany company = new CarRentalCompany();
company.rentCar();
}
}
```
这样,用户输入要租的车型序号和天数后,程序就会计算出总载人量、总载货量和总租金,并输出到控制台上。
阅读全文