题目:
7-14 计算日租金。
分数 10
作者 gh
单位 内蒙古师范大学
-
1.设计一个抽象类汽车类Vehicle,其abstract public int rent()表示日租金。
-
2.Truck类和Car类都继承Vehicle类。
对于Truck类而言,根据载重量属性int load(吨)计算日租金,公式为load*1000; 对于Car而言,根据车辆等级int level属性,计算日租金,公式为200*level。
-
3.设某租车公司CarRentCompany提供租车服务,通过静态的int rentVehicles(Vehicle[] vehicles)方法,获得出租车辆的日租金。
-
4.在main方法中,创建一个租车公司对象,读入多个车辆数据,1表示Truck,2表示Car,根据车辆类型和属性,计算此公司总的日租金。
输入格式: 第一行是租车公司租出的车辆数量。 后面行表示车辆类型和属性。 输出格式: 输出公司租车日租金。 输入样例: 在这里给出一组输入。例如: 2 1 2 2 1 输出样例: 在这里给出相应的输出。例如: 2200
代码:
import java.util.Scanner;
abstract class Vehicle{
abstract public int rent();
}
class Truck extends Vehicle{
private int load;
public Truck(int load){
this.load = load;
}
public int rent(){
return load*1000;
}
}
class Car extends Vehicle{
private int level;
public Car(int level){
this.level = level;
}
public int rent(){
return level*200;
}
}
class CarRentCompany{
public int rentVehicles(Vehicle []vehicles){
int total = 0;
for(Vehicle vehicle : vehicles){
total+=vehicle.rent();
}
return total;
}
}
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
Vehicle []vehicles = new Vehicle[n];
for (int i = 0; i < n; i++) {
int a = sc.nextInt();
int b = sc.nextInt();
if(a==1) vehicles[i] = new Truck(b);
else
vehicles[i] = new Car(b);
}
CarRentCompany rent = new CarRentCompany();
int ans = rent.rentVehicles(vehicles);
System.out.println(ans);
}
}