6-3 租车服务 (20分)
java旧题复习
作业4
6-3 租车服务 (20分)
某租车公司提供租车服务,针对不同的车辆类型,日租金的计算方式不同,具体地,对于货车而言,根据载重量load(单位是吨)计算,公式为loadx 1000;对于大型客车而言,根据车内座位数seats计算,公式为seatsx50;对于小型汽车而言,根据车辆等级和折旧年数计算,公式为200*level/sqrt(year),其中sqrt表示平方根。设计合适的类继承结构实现上述功能,构造租车公司类CarRentCompany,提供静态函数rentVehicles,能够给定一组待租车辆,计算日租金总额。 在main函数中,读入多个车辆数据,并计算总的日租金。
输入描述:
汽车数量 汽车种类 该类汽车相关属性 其中1表示货车,2表示大型客车,3表示小型汽车
输出描述:
总的日租金,保留两位小数
裁判测试程序样例:
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int c = sc.nextInt();Vehicle[] vs = new Vehicle[c];for (int i=0;i<c;i++) {int type = sc.nextInt();Vehicle v = null;if (type == 1) {//货车vs[i] = new Truck (sc.nextDouble());} else if (type == 2) {vs[i] = new Keche(sc.nextInt());} else if (type == 3) {vs[i] = new Car(sc.nextInt(), sc.nextInt());}}System.out.printf("%.2f",CarRentCompany.rentVehicles(vs));}
}/* 你的代码被嵌在这里 */
输入样例:
在这里给出一组输入。例如:
3
1 3
2 50
3 5 5
输出样例:
在这里给出相应的输出。例如:
5947.21
ans:
abstract class Vehicle{//将车辆类写成抽象类更易实现abstract double getMoney();
}class Truck extends Vehicle{//货车double load;public Truck(double load) {this.load=load;}public double getMoney() {return 1000*this.load;}}class Keche extends Vehicle{//卡车int seat;public Keche(int seat) {this.seat=seat;}public double getMoney() {return 50*this.seat;}
}class Car extends Vehicle{//小型车辆int level;int year;public Car(int level,int year) {this.level=level;this.year=year;}public double getMoney() {return 200*this.level/(Math.sqrt(this.year));}
}class CarRentCompany{public static double rentVehicles(Vehicle[] vs) {//静态方法double sum=0;for(int i=0;i<vs.length;i++) {sum+=vs[i].getMoney();}return sum;}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
