JAVA多态练习题_某汽车租赁公司出租多种车辆,车型及租金情况如下:
某汽车租赁公司出租多种车辆,车型及租金情况如下:
n 编写程序实现计算租赁价 MotoVehicle
分析
4、需求说明:
输入提示需求,计算出对应租金
5、需求说明:
新购置了卡车,根据吨位,租金每吨每天50
对系统进行扩展,计算汽车租赁的总租金
1 package day13; 2 //机动车类 3 public abstract class MotoVehicle { 4 //车牌号 5 String no=null; 6 //品牌 7 String brand=null; 8 //颜色 9 char color; 10 //里程 11 int mileage; 12 //总金额 13 int num; 14 15 16 17 public abstract int CalcRent(int day); 18 19 }
1 package day13; 2 //大车类 3 public class Bus extends MotoVehicle{ 4 5 private int seatCount; 6 7 8 9 public Bus(String no,int seatCount) { 10 super(); 11 this.no=no; 12 this.seatCount = seatCount; 13 } 14 15 16 //方法重写 17 @Override 18 public int CalcRent(int day) { 19 20 return 0; 21 } 22 //方法重载 23 public int CalcRent(int days,int seatCount){ 24 if(seatCount<=16){ 25 num=800*days; 26 } 27 else if(seatCount>16){ 28 num=1500*days; 29 } 30 System.out.println("费用为:"+num); 31 return num; 32 } 33 34 35 36 }
1 package day13; 2 //小车类 3 public class Car extends MotoVehicle{ 4 5 private String type; 6 7 public Car(String no,String type) { 8 super(); 9 this.no=no; 10 this.type = type; 11 } 12 //方法重写 13 @Override 14 public int CalcRent(int day) { 15 16 return 0; 17 } 18 //方法重载 19 public int CalcRent(int days,String type){ 20 // 21 switch (type) { 22 case "1": 23 num=600*days; 24 break; 25 case "2": 26 num=500*days; 27 break; 28 case "3": 29 num=300*days; 30 break; 31 32 default: 33 System.out.println("输入有误"); 34 break; 35 } 36 System.out.println("费用为"+num); 37 return num; 38 } 39 }
1 package day13; 2 3 public class Truck extends MotoVehicle{ 4 int tonnage; 5 6 public Truck(String no,int tonnage) { 7 super(); 8 this.no=no; 9 this.tonnage = tonnage; 10 } 11 12 //重写方法 13 @Override 14 public int CalcRent(int day) { 15 16 return 0; 17 } 18 //重载方法 19 public int CalcRent(int day,int tonnage){ 20 num=tonnage*day*50; 21 System.out.println("费用为"+num); 22 return num; 23 } 24 25 26 }
package day13; import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner reader=new Scanner(System.in); System.out.println("请输入数字选择车型:(1轿车),(2客车),(3.卡车)"); int m=reader.nextInt(); if(m==1){ System.out.println("1.别克商务舱GL8"); System.out.println("2.宝马55i"); System.out.println("3.别克林荫大道"); System.out.println("请输入轿车品牌数字:"); String b=reader.next(); System.out.println("请输入租赁天数:"); int days=reader.nextInt(); //创建对象 Car car=new Car("0",b); car.CalcRent(days, b); }else if(m==2){ System.out.println("请输入座位数:"); int c=reader.nextInt(); System.out.println("请输入租赁天数:"); int days=reader.nextInt(); //创建对象并调用 Bus bus=new Bus("0",c); bus.CalcRent(days, c); }else if(m==3){ System.out.println("请输入吨位:"); int d=reader.nextInt(); System.out.println("请输入要租赁的天数:"); int days=reader.nextInt(); //创建对象并使用 Truck truck=new Truck("0", d); truck.CalcRent(days, d); } else{ System.out.println("输入有误!"); } } }
运行截图: