目录

一丶功能展示

1、汽车租赁系统界面展示

2、类图

二、收获,体会及问题

Vehicle类

Bus类

Car类

Trunk类

RentMgrSys类


要求https://images.ptausercontent.com/9aeed726-985a-4549-be75-6126d30435c2.pdfhttps://images.ptausercontent.com/9aeed726-985a-4549-be75-6126d30435c2.pdf

一丶功能展示

1、汽车租赁系统界面展示

2、类图

二、收获,体会及问题

拿道题先将工程和所有的包创建完成,先编写的父类的代码,没啥难度。然后让子类继承了父类,在子类给父类赋值时出现了问题,然后想到要用get()和set()方法,解决了问题。

在如何将子类的信息批量存储时遇到了问题,想到了用集合解决。创建了三个集合。

遇到问题,怎么在Main里调用class的Arraylist,查阅了相关资料,发现可以用数组来代替,于是换成了数组。

在父类中重写toString()是为了让父类返回值变成汽车相关的信息,否则返回的是这个类的命名空间的名字。

在父类中构建总租金的方法。

Abstract修饰符可以用于类、方法、事件和索引指示器(indexer),表示其为抽象成员,抽象方法是没有方法体的方法。抽象成员,即抽象类、抽象方法、抽象事件。

数组越界问题。发现自己少定义了一个数组元素。

要计算数组长度时,不知该用哪一个。故如下:

java中length,length(),和size()的区别:

1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.
      2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法.
      3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看!

Vehicle类

package RentCar;public abstract class Vehicle {private String vehicleId; //车牌号private String brand; //品牌private int perRent; //日租金//get()和set()方法public String getVehicleId() {return vehicleId;}public void setVehicleId(String vehicleId) {this.vehicleId = vehicleId;}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}public int getPerRent() {return perRent;}public void setPerRent(int perRent) {this.perRent = perRent;}//无参构造public Vehicle() {}//有参构造public Vehicle(String vehicleId, String brand,int perRent) {this.vehicleId = vehicleId;this.perRent = perRent;this.brand = brand;}//抽象类方法totalmoney得总金额public abstract double totalmoney(int days , double rent);//重写toString(),得到返回值如下的方法@Overridepublic String toString() {return "汽车{" +"车牌号='" +  vehicleId + '\'' +", 品牌='" + brand + '\'' +", 日租金=" + perRent +'}';}
}

Bus类

package RentCar;public class Bus extends Vehicle {//添加客车座位这一属性private String seat;public String getSeat() {return seat;}public void setSeat(String seat) {this.seat = seat;}public Bus() {super();// TODO Auto-generated constructor stub}public Bus(String vehicleId, String brand, int rent, String seat) {super(vehicleId, brand, rent);this.seat = seat;}@Overridepublic double totalmoney(int days, double rent) {// TODO Auto-generated method stubif (days>=3){return days*rent*0.9;}else if (days>=7){return days*rent*0.8;}else if (days>=30){return days*rent*0.7;}else if (days>=150){return days*rent*0.6;}return days*rent;}
}

Car类

package RentCar;public class Car extends Vehicle{private String type;public String getType() {return type;}public void setType(String type) {this.type = type;}public Car() {super();}public Car(String vehicleId, String brand, int perRent, String type) {super(vehicleId, brand, perRent);this.type = type;}@Overridepublic String toString() {return "Car{" +"type='" + type + '\'' +'}';} @Overridepublic double totalmoney(int days, double rent) {// TODO Auto-generated method stubif (days>7){return days*rent*0.9;}else if (days>30){return days*rent*0.8;}else if (days>150){return days*rent*0.7;}return days*rent;}
}

Trunk类

package RentCar;public class Trunk extends Vehicle {private int capacity;public int getCapacity() {return capacity;}public void setCapacity(int capacity) {this.capacity = capacity;}public Trunk() {super();// TODO Auto-generated constructor stub}public Trunk(String vehicleId, String brand, int rent,int capacity) {super(vehicleId, brand, rent);this.capacity = capacity;}@Overridepublic double totalmoney(int days, double rent) {// TODO Auto-generated method stub//与Bus相同if (days>=3){return days*rent*0.9;}else if (days>=7){return days*rent*0.8;}else if (days>=30){return days*rent*0.7;}else if (days>=150){return days*rent*0.6;}return days*rent;}
}

RentMgrSys类

package cars;import java.util.Scanner;import RentCar.Bus;
import RentCar.Car;
import RentCar.Trunk;public class RentMgrSys {public static void main(String[] args) {  Car[] Cars = new Car[4];Cars[0] = new Car("京NY28588", "宝马", 800, "x6");Cars[1] = new Car("京CNY3284", "宝马", 600, "550i");Cars[2] = new Car("京NT37465", "别克", 300, "林荫大道");Cars[3] = new Car("京NT96928", "别克", 600, "GL8");Bus[] Buses = new Bus[4];Buses[0] = new Bus("京6566754", "金杯", 800, "16座");Buses[1] = new Bus("京8696667", "金龙", 800, "16座");Buses[2] = new Bus("京9696996", "金杯", 1500, "34座");Buses[3] = new Bus("京8696998", "金龙", 1500, "34座");Trunk[] Trunks = new Trunk[4];Trunks[0] = new Trunk("川YX183296","奥铃",900,5);Trunks[1] = new Trunk("川XG695640","奥铃",1000,5);Trunks[2] = new Trunk("陕PC921127","域虎",1200,8);Trunks[3] = new Trunk("陕BH920506","域虎",1300,8);System.out.println("---------欢迎光临灿白汽车租赁公司---------");System.out.println("1.轿车     2.客车     3.客车");System.out.print("请选择你要租赁的汽车类型:");Scanner sc = new Scanner(System.in);int choose1 = sc.nextInt();Car car1 = new Car();Bus bus1 = new Bus();Trunk trunk1 = new Trunk();if(choose1 == 1) {System.out.println("1.宝马      2.别克");System.out.print("请选择你要租赁的品牌:");int choose2 = sc.nextInt();if(choose2 == 1) {System.out.println("1.x6     2.550i");        }else {System.out.println("1.林荫大道     2.GL8");}System.out.print("请输入你要租赁的汽车型号:"); String choose3 = sc.next();for(int i = 0;i < Cars.length;i++) {if(Cars[i].getType().equals(choose3)) {car1 = Cars[i];break;}                  }System.out.print("请输入你要租赁的天数:");int day = sc.nextInt();System.out.print("分配给你的汽车牌号是:");System.out.println(car1.getVehicleId());double totalrent = 0;totalrent = car1.totalmoney(day, car1.getPerRent());System.out.print("你需要支付的租赁分费用是:");System.out.print(totalrent);}else if(choose1 == 2) {System.out.println("1.金杯     2.金龙");System.out.print("请选择你要租赁的汽车品牌:");String choose2 = sc.next();System.out.println("1.16座     2.34座");System.out.print("请输入你要租赁的汽车座位数:");String choose3 = sc.next();for(int i = 0;i < Buses.length;i++) {if(Buses[i].getSeat().equals(choose3)) {bus1 = Buses[i];break;}                    }System.out.print("请输入你要租赁的天数:");int day = sc.nextInt();System.out.print("分配给你的汽车牌号是:");System.out.println();System.out.println(bus1.getVehicleId());double totalrent = 0;totalrent = bus1.totalmoney(day, bus1.getPerRent());System.out.print("你需要支付的租赁分费用是:");System.out.print(totalrent);}else if(choose1 == 3) {System.out.println("1.奥铃      2.域虎");System.out.print("请选择你要租赁的品牌:");int choose2 = sc.nextInt();System.out.println("1.5     2.8");System.out.print("请输入你要租赁的汽车承载量:");int choose3 = sc.nextInt();for(int i = 0;i < Trunks.length;i++) {if(Trunks[i].getCapacity() == choose3) {trunk1 = Trunks[i];break;}                 }System.out.print("请输入你要租赁的天数:");int day = sc.nextInt();System.out.print("分配给你的汽车牌号是:");System.out.println(trunk1.getVehicleId());double totalrent = 0;totalrent = trunk1.totalmoney(day, trunk1.getPerRent());System.out.print("你需要支付的租赁分费用是:");System.out.print(totalrent);          }}
}

2021-09-22 汽车租赁系统相关推荐

  1. 基于JAVA汽车租赁系统 (Springboot框架) 开题报告

      本科生毕业论文 基于Java(springboot框架)汽车租赁系统 开题报告 学    院: 专    业: 计算机科学与技术 年    级: 学生姓名: 指导教师:   XXXX大学本科生毕业 ...

  2. Springboot毕业设计毕设作品,汽车租赁系统 开题报告

      本科生毕业论文 基于Java(springboot框架)汽车租赁系统 开题报告 学    院: 专    业: 计算机科学与技术 年    级: 学生姓名: 指导教师:   XXXX大学本科生毕业 ...

  3. 基于JAVA汽车租赁系统计算机毕业设计源码+系统+lw文档+部署

    基于JAVA汽车租赁系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA汽车租赁系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软 ...

  4. 基于JAVA汽车租赁系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA汽车租赁系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA汽车租赁系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  5. 汽车租赁系统 ssm

    汽车租赁系统 ssm 开发环境 开发软件 idea 也可以用eclipse导入 前端 lyaui 后端 spring springmvc mybatis 分页用的pagehelper maven管理项 ...

  6. java毕业设计汽车租赁系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试

    java毕业设计汽车租赁系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计汽车租赁系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试 本源 ...

  7. 计算机毕业设计Java汽车租赁系统(源代码+数据库+系统+lw文档)

    计算机毕业设计Java汽车租赁系统(源代码+数据库+系统+lw文档) 计算机毕业设计Java汽车租赁系统(源代码+数据库+系统+lw文档) 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 ...

  8. java毕业设计汽车租赁系统mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计汽车租赁系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计汽车租赁系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B/S架构 开 ...

  9. 计算机毕业设计JAVA汽车租赁系统mybatis+源码+调试部署+系统+数据库+lw

    计算机毕业设计JAVA汽车租赁系统mybatis+源码+调试部署+系统+数据库+lw. 计算机毕业设计JAVA汽车租赁系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构: ...

  10. java计算机毕业设计汽车租赁系统演示录像源码+程序+lw文档+mysql数据库

    java计算机毕业设计汽车租赁系统演示录像源码+程序+lw文档+mysql数据库 java计算机毕业设计汽车租赁系统演示录像源码+程序+lw文档+mysql数据库 本源码技术栈: 项目架构:B/S架构 ...

最新文章

  1. 最新!全球学术排名出炉:18所中国大学位居世界100强
  2. 手机内部零件名称图解_外协加工:200件零件/机加件配套加工
  3. 图像处理(一)——使用matlab放缩图像
  4. 成长轨迹59 【ACM算法之路 百炼poj.grids.cn】【递归】【2694:逆波兰表达式】
  5. CTAS VS create table and then insert
  6. 2018企业面试总汇(答案请自行搜罗) 新增19年阿里面题(反向拓展技术栈)
  7. Orleans解决并发之痛(四):Streams
  8. html5伸缩效果,【HTML5】Jquery打造竖向伸缩/展开菜单
  9. 看动画轻松理解时间复杂度(一)
  10. 【Flink】FLink checkpont 界面显示的含义
  11. 查看cics 运行状态
  12. 特殊的网络环境下的故障处理
  13. Zookeeper C API 具体应用实例
  14. linux内核C -- 第09课:链接过程中的强符号和弱符号
  15. 对于高等代数一下比较基础的概念的认识
  16. Intellij idea注册激活码(2017年2月15日亲测可用于最新版)
  17. linux 从设备 spi,在Linux 4.9设备树中添加SPI slave设备rapbery pi
  18. 落幕,致我的大学生活
  19. 浙大版《C语言程序设计实验与习题指导(第3版)》题目集
  20. MySQL高级SQL语句(开端)

热门文章

  1. Python实现消消乐小游戏
  2. 电脑监控软件哪个好用,有没有远程监控软件?
  3. 简单易用:两种在线抠图人像方法,让你摆脱PS操作困扰!
  4. 只用3行代码,让Python提速4倍!最强辅助
  5. ln lg,log在c语言中的表示
  6. spark java mysql 连接数据库_Spark入门:通过JDBC连接数据库(DataFrame)
  7. 利用Go语言上传图像并生成缩略图
  8. echarts图表实战
  9. 使用标签〈base〉
  10. app/config 中的配置说明