2021-09-22 汽车租赁系统
目录
一丶功能展示
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 汽车租赁系统相关推荐
- 基于JAVA汽车租赁系统 (Springboot框架) 开题报告
本科生毕业论文 基于Java(springboot框架)汽车租赁系统 开题报告 学 院: 专 业: 计算机科学与技术 年 级: 学生姓名: 指导教师: XXXX大学本科生毕业 ...
- Springboot毕业设计毕设作品,汽车租赁系统 开题报告
本科生毕业论文 基于Java(springboot框架)汽车租赁系统 开题报告 学 院: 专 业: 计算机科学与技术 年 级: 学生姓名: 指导教师: XXXX大学本科生毕业 ...
- 基于JAVA汽车租赁系统计算机毕业设计源码+系统+lw文档+部署
基于JAVA汽车租赁系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA汽车租赁系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开发软 ...
- 基于JAVA汽车租赁系统计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA汽车租赁系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA汽车租赁系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...
- 汽车租赁系统 ssm
汽车租赁系统 ssm 开发环境 开发软件 idea 也可以用eclipse导入 前端 lyaui 后端 spring springmvc mybatis 分页用的pagehelper maven管理项 ...
- java毕业设计汽车租赁系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试
java毕业设计汽车租赁系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试 java毕业设计汽车租赁系统演示录像源码+lw文档+mybatis+系统+mysql数据库+调试 本源 ...
- 计算机毕业设计Java汽车租赁系统(源代码+数据库+系统+lw文档)
计算机毕业设计Java汽车租赁系统(源代码+数据库+系统+lw文档) 计算机毕业设计Java汽车租赁系统(源代码+数据库+系统+lw文档) 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 ...
- java毕业设计汽车租赁系统mybatis+源码+调试部署+系统+数据库+lw
java毕业设计汽车租赁系统mybatis+源码+调试部署+系统+数据库+lw java毕业设计汽车租赁系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B/S架构 开 ...
- 计算机毕业设计JAVA汽车租赁系统mybatis+源码+调试部署+系统+数据库+lw
计算机毕业设计JAVA汽车租赁系统mybatis+源码+调试部署+系统+数据库+lw. 计算机毕业设计JAVA汽车租赁系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构: ...
- java计算机毕业设计汽车租赁系统演示录像源码+程序+lw文档+mysql数据库
java计算机毕业设计汽车租赁系统演示录像源码+程序+lw文档+mysql数据库 java计算机毕业设计汽车租赁系统演示录像源码+程序+lw文档+mysql数据库 本源码技术栈: 项目架构:B/S架构 ...
最新文章
- 最新!全球学术排名出炉:18所中国大学位居世界100强
- 手机内部零件名称图解_外协加工:200件零件/机加件配套加工
- 图像处理(一)——使用matlab放缩图像
- 成长轨迹59 【ACM算法之路 百炼poj.grids.cn】【递归】【2694:逆波兰表达式】
- CTAS VS create table and then insert
- 2018企业面试总汇(答案请自行搜罗) 新增19年阿里面题(反向拓展技术栈)
- Orleans解决并发之痛(四):Streams
- html5伸缩效果,【HTML5】Jquery打造竖向伸缩/展开菜单
- 看动画轻松理解时间复杂度(一)
- 【Flink】FLink checkpont 界面显示的含义
- 查看cics 运行状态
- 特殊的网络环境下的故障处理
- Zookeeper C API 具体应用实例
- linux内核C -- 第09课:链接过程中的强符号和弱符号
- 对于高等代数一下比较基础的概念的认识
- Intellij idea注册激活码(2017年2月15日亲测可用于最新版)
- linux 从设备 spi,在Linux 4.9设备树中添加SPI slave设备rapbery pi
- 落幕,致我的大学生活
- 浙大版《C语言程序设计实验与习题指导(第3版)》题目集
- MySQL高级SQL语句(开端)