首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

车辆管理系统-基于Java简单实现

后端 6.78KB 15 需要积分: 1
立即下载

资源介绍:

本Java资源构建了一个完整的车辆管理系统,专注于租车服务。系统通过定义汽车基类及其子类(轿车、客车),实现了车辆的品牌、日租金、车牌号等基本属性,并根据车型不同引入了额外的属性(如型号、座位数)。通过抽象方法实现了计算租金的逻辑,子类根据具体车型重写该方法以适应不同计费规则。系统还包含汽车业务类,管理车辆信息并提供基于品牌、车型、座位等条件的租车服务。最终,通过测试类模拟用户输入,展示不同车型在不同租车天数下的租金计算结果,满足租车业务的多样化需求。 通过参与车辆管理系统Java资源的学习,您将全面掌握面向对象编程原则、设计模式应用、系统架构设计、异常处理、测试调试等关键技能,同时培养良好的编码习惯,为软件开发职业生涯奠定坚实基础。
package MidTermHomework03; import java.util.Scanner; public class RentVehicleSys { private static final Scanner scanner = new Scanner(System.in); public static void main(String[] args) { System.out.println("*********欢迎光临腾飞汽车租赁公司***********"); double totalPrice = 0; RentHandler handlerChain = new CarHandler(new BusHandler( new TruckHandler(null))); do { int vehicleType = getValidVehicleType(); MotoVehicle moto = handlerChain.handleRequest(vehicleType); if (moto == null) { System.out.println("租车失败,请重新选择"); continue; } int days = getRentalDays(); MotoOperation motoOpr = new MotoOperation(); motoOpr.init(); moto = motoOpr.rentVehicle(moto); System.out.println("******租车结果*******"); System.out.println("租车成功 !分配给您的车是:" + moto.getVehicleId()); totalPrice += moto.calRent(days); System.out.println("请选择是否继续租车:扣1结束"); } while (scanner.nextInt() != 1); System.out.println("您应付租金(元): " + totalPrice); System.out.println(totalPrice > 10000 ? "感谢惠顾,祝您一路顺风" : "谢谢惠顾"); scanner.close(); } private static int getValidVehicleType() { int type; do { System.out.println("请选择租车类型: 1、轿车 2、客车 3、卡车"); type = scanner.nextInt(); if (type < 1 || type > 3) { System.out.println("输入有误请重新输入"); } } while (type < 1 || type > 3); return type; } private static int getRentalDays() { System.out.print("请输入要租赁的天数: "); return scanner.nextInt(); } /*(自己写的判断输入太冗杂了,和10一样) System.out.println("*********欢迎光临腾飞汽车租赁公司***********"); String brand = ""; String type = ""; int seatCount = 0; String color = ""; int weight = 0; int i = 0; double price = 0; do { System.out.println("请选择租车类型:1、轿车2、客车 3、卡车"); Scanner input = new Scanner(System.in); int choose = input.nextInt(); if (choose > 3 || choose < 0) { System.out.println("输入有误请重新输入"); System.out.println(); continue; } switch (choose) { case 1: System.out.println("请选择品牌:1.红旗2、别克"); int brandChoose = input.nextInt(); if (brandChoose == 1) { brand = "红旗"; System.out.println("请选择类型:1.奔腾B50 2.奔腾B70"); int typeChoose = input.nextInt(); if (typeChoose > 2 || typeChoose < 0) { System.out.println("输入有误请重新输入"); continue; } type = (typeChoose == 1) ? "奔腾B50" : "奔腾B70"; System.out.println("请选择颜色:1.白 2.黑"); int colorChoose = input.nextInt(); if (colorChoose > 2 || colorChoose < 0) { System.out.println("输入有误请重新输入"); continue; } color = (colorChoose == 1) ? "白" : "黑"; } else if (brandChoose == 2) { brand = "别克"; System.out.println("请选择类型:1.英朗2.凯越"); int typeChoose = input.nextInt(); if (typeChoose > 2 || typeChoose < 0) { System.out.println("输入有误请重新输入"); continue; } type = (typeChoose == 1) ? "英朗" : "凯越"; System.out.println("请选择颜色:1.白 2.黑"); int colorChoose = input.nextInt(); if (colorChoose > 2 || colorChoose < 0) { System.out.println("输入有误请重新输入"); continue; } color = (colorChoose == 1) ? "白" : "黑"; } else { System.out.println("输入有误请重新输入"); continue; } break; case 2: System.out.println("请选择品牌:1.金龙2、金杯"); brand = (input.nextInt() == 1) ? "金龙" : "金杯"; System.out.println("请选择座位数:1.16座2、34座"); int typeChoose = input.nextInt(); seatCount = (typeChoose == 1) ? 16 : 34; System.out.println("请选择颜色:1.白 2.黑"); int colorChoose = input.nextInt(); color = (colorChoose == 1) ? "白" : "黑"; break; case 3: System.out.println("请选择吨位(输入数字):1.6吨中型卡车 2、14吨重型卡车"); weight = (input.nextInt() == 1) ? 6 : 14; } System.out.print("请输入要租赁的天数:"); int days = input.nextInt(); MotoOperation motoOpr = new MotoOperation(); motoOpr.init(); MotoVehicle moto = motoOpr.rentVehicle(brand, type, seatCount, color, weight); System.out.println("******租车结果*******"); System.out.println("租车成功 !分配给您的车是:" + moto.getVehicleId()); price += moto.calRent(days); System.out.println("请选择是否继续租车:扣1结束"); i = input.nextInt(); } while (i != 1); System.out.println(" 您应付租金(元):" + price); if (price > 10000) { System.out.println("感谢惠顾,祝您一路顺风"); } else { System.out.println("谢谢惠顾"); } */ }

资源文件列表:

车辆管理系统.zip 大约有10个文件
  1. 车辆管理系统/Bus.java 1.32KB
  2. 车辆管理系统/BusHandler.java 1.23KB
  3. 车辆管理系统/Car.java 1.21KB
  4. 车辆管理系统/CarHandler.java 1.44KB
  5. 车辆管理系统/MotoOperation.java 2.74KB
  6. 车辆管理系统/MotoVehicle.java 1.07KB
  7. 车辆管理系统/RentHandler.java 109B
  8. 车辆管理系统/RentVehicleSys.java 5.93KB
  9. 车辆管理系统/Truck.java 900B
  10. 车辆管理系统/TruckHandler.java 933B
0评论
提交 加载更多评论
其他资源 python-3.12-.zip
python3.12解释器,有时候网不好,到这儿下载快,自用的。
3735f寨本昂达OBOOK10se BIOS原机备份
[原机备份] 3735f寨本昂达OBOOK10se BIOS原机备份 [复制链接] 会员1208234 24 帖子 0 威望 565 鑫豆 会员等级:维修技术员 发消息 电梯直达1# 发表于 2020-12-12 13:41:27 | 只看该作者 来自: 广西桂林 来自 广西桂林 如题,由于昂达没放BIOS出来,所以找机器备份了一个 主板:INET-I210-REV10 BIOS型号:Insyde BIOS(安卓5.1系列,与momo8w v05的BIOS同一种) 系统方面虽然obook10se预装了单REMIX2.0,但实际上BIOS也没有阉割win,而且win的oem key也在,所以双系统也是没问题的。 另外,由于不同寨板机型的atom方案相似,理论上所有3735f都能用,只不过GOP VBT、dsdt等需要改动才能驱动外围设备 附件中包含bios本体和自动刷写工具(h2offt) [url=] obook10se.zip (2.17 MB, 下载次数: 28) [/url]
打包工具(Inno Setup Compiler)安装包
安装方式:一直点击下一步即可
Dev-Cpp-5.11-Setup(二次压缩版)
Dev-Cpp-5.11-Setup(二次压缩版)
1_Java考试.zip
1_Java考试.zip
wechat-bot微信机器人
一款开箱即用的微信机器人,可支持纯粹聊天,可支持接入AI(文心一言等),程序已经打包好,绿色软件(可能会会被杀毒软件误杀,担心的建议别下载),下载下来改一下config.ini运行集客,1分钟完成个人微信机器人搭建(免责声明:本项目仅供研究学习和娱乐使用,请勿用作商业用途和非法用途)。
多配送中心路径优化_QQ浏览器压缩包.zip
多配送中心路径优化_QQ浏览器压缩包.zip
作业3:附件数据集.zip
作业3:附件数据集.zip
作业3:附件数据集.zip