Java小开发(汽车租赁系统)

  • 汽车租赁:
    分为客车和轿车两种:客车小于20座:500一天,大于20座:900一天。
    轿车分为豪华和普通:豪华600一天,普通200一天

效果图:


代码如下:

机动车类:

package busTest;/*
机动车类*/
public abstract  class MotoVehicle {private String carNumber; //车牌号private String carBrand;  // 车品牌//构造方法public MotoVehicle(){}public MotoVehicle(String carNumber, String carBrand) {this.carNumber = carNumber;this.carBrand = carBrand;}// get/setpublic String getCarNumber(){return carNumber;}public void setCarNumber(String carNumber){this.carNumber = carNumber;}public String getCarBrand(){return carBrand;}public void setCarBrand(String carBrand){this.carNumber = carNumber;}/*计算租赁的方法*/public abstract int calRent(int days);}

客车类:

package busTest;public class Bus extends MotoVehicle {private int setCount;  //座位数//通过构造方法初始化对象public Bus(String carNUmber, String brand, int setCount) {super(carNUmber, brand);this.setCount = setCount;}@Overridepublic int calRent(int days) {//根据座位数量来判断租赁的金额if (this.setCount < 20) {return days * 500;} else {return days * 900;}}public void showBusInfo(int days) {System.out.println("*");System.out.println("\t车牌号:" + super.getCarNumber());System.out.println("\t车品牌:" + super.getCarBrand());System.out.println("\t座位数:" + this.setCount);System.out.println("\t租赁天数:" + days);System.out.println("\t金额:" + calRent(days));}
}

轿车类:

package busTest;public class Car extends MotoVehicle {private String type;  //汽车类型  普通/豪华//通过构造方法初始化对象public Car(String carNUmber, String brand, String type) {super(carNUmber, brand);this.type = type;}@Overridepublic int calRent(int days) {//根据类型来决定价格if ("豪车".equals(type)) {return days * 600;} else {return days * 200;}}public void showCarInfo(int days) {System.out.println("*");System.out.println("\t车牌号:" + super.getCarNumber());System.out.println("\t车品牌:" + super.getCarBrand());System.out.println("\t车类型:" + this.type);System.out.println("\t租赁天数:" + days);System.out.println("\t金额:" + calRent(days));}
}

租车顾客类:

package busTest;/*
顾客类*/import java.util.Scanner;public class Customer {private String name;private int sum = 0;//当不确定我的购物车内具体是轿车还是客车,那就以父亲类类型创建对象数组MotoVehicle[] motos = new MotoVehicle[10];Scanner input = new Scanner(System.in);public void showMenu() {//定义一个父类机动车的对象,在下面可以接收MotoVehicle moto = null;System.out.println("******汽车租赁系统*******");String answer;do {System.out.println("1、租赁客车  2、租赁轿车");System.out.print("请输入编号:");int num = input.nextInt();if (num == 1) {//创建租赁的客车对象moto = rentBus();} else if (num == 2) {//创建租赁的轿车对象moto = rentCar();}for (int i = 0; i < motos.length; i++) {if (motos[i] == null) {motos[i] = moto;break;}}System.out.print("是否继续租赁?:y/n");answer = input.next();} while (!"n".equals(answer));System.out.print("请输入你的姓名:");this.name = input.next();System.out.print("租赁的天数:");int days = input.nextInt();//根据天数来统计租赁金额calTotalRent(days);//显示租赁的信息showInfo(days);}private void showInfo(int days) {System.out.println("---------------------租赁汽车信息---------------------");for (int i = 0; i < motos.length; i++) {MotoVehicle moto = this.motos[i];if (moto != null) {if (moto instanceof Bus) {Bus bus = (Bus) moto;bus.showBusInfo(days);} else if (moto instanceof Car) {Car car = (Car) moto;car.showCarInfo(days);}}}System.out.println("\t顾客:" + this.name + "\t\t总金额:" + sum);System.out.println("----------------------------------------------------");}private void calTotalRent(int days) {int total = 0;for (MotoVehicle moto : motos) {if (moto != null) {int rent = moto.calRent(days);total += rent;  //累加总金额}this.sum = total;// 把总金额复制给全局变量 sum}}//轿车private MotoVehicle rentCar() {System.out.print("请输入轿车品牌:");String brand = input.next();System.out.print("请输入轿车车牌号:");String carNumber = input.next();System.out.print("请选择轿车类型[1、豪车 2、普通车:]");int choise = input.nextInt();String type;if (choise == 1) {type = "豪车";} else {type = "普通型";}return new Car(carNumber, brand, type);}//客车private MotoVehicle rentBus() {System.out.print("请输入客车品牌:");String brand = input.next();System.out.print("请输入客车车牌号:");String carNumber = input.next();System.out.print("请输入客车座位数:");int seatCount = input.nextInt();return new Bus(carNumber, brand, seatCount);}
}

测试类:

package busTest;public class TestMain {public static void main(String[] args) {Customer customer = new Customer();customer.showMenu();}
}

注: 程序内的实际显示内容大家可以根据需要去改动,也可以在这基础上,添加其他功能!

Java小开发(汽车租赁系统)相关推荐

  1. 【开发日常】【Java】Java小程序汽车租赁

    <Java小程序--汽车租赁> 1.描述:刚学Java写的小程序,用到类的继承,多态,abstract抽象方法. 2.工具:eclipse.exe 3.功能:选择子类(轿车 / 客车) 选 ...

  2. 基于Java Web的汽车租赁系统的设计与实现

    项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等.这里根据疫情当下,你 ...

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

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

  4. java计算机毕业设计汽车租赁系统源码+系统+数据库+lw文档

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

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

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

  6. 用java实现一个汽车租赁系统

    用java实现一个汽车租赁系统 题目如下 1.汽车租赁信息表如下 2.类和属性 3.运行效果图如下: 实现过程如下 1.首先把类创建好,并且把成员属性设置好 如下图 2.然后因为座位数和型号是客车类和 ...

  7. Java语言写汽车租赁系统

    汽车租赁系统 汽车类Car 属性 汽车品牌 brand 汽车型号 model 颜色 color 租车人 leaser 日租金 rent 租借天数 day 状态 state 成员方法show()不定义构 ...

  8. java毕业设计_汽车租赁系统

    小汽车在线租赁管理系统mysql数据库创建语句 小汽车在线租赁管理系统oracle数据库创建语句 小汽车在线租赁管理系统sqlserver数据库创建语句 小汽车在线租赁管理系统spring+sprin ...

  9. [面向对象程序设计] 汽车租赁系统(Java实现)

    通过Java简单实现汽车租赁系统. 1)系统分为管理员和用户角色登录,不同的角色有不同的权限操作: 2)管理员功能:查看.添加.修改和删除车辆信息,查看营业额: 3)用户功能:登录后,可以查看车辆.租 ...

  10. Java小项目(三)---汽车租赁系统(集合、面向对象)

    汽车租赁系统 一.使用技术 二.实现功能 2.1 汽车租赁信息表如下 2.2 类和属性 三.运行效果图 四.实现的代码 4.1 Cars汽车类(父类) 4.2 Bus客车类(子类) 4.3 Saloo ...

最新文章

  1. uniapp中easycom组件的封装
  2. Github【网站打不开 / 创建仓库 / 创建文件】
  3. STM32那点事(2)_时钟树(上)
  4. 最好的计划是略有闲余的计划,用于缓冲必然出现的错误与突发事件(转)
  5. java中方法未定义_java - Java SE中的未定义方法错误 - 堆栈内存溢出
  6. 数据结构与算法 完整版单链表(附GIF)
  7. 2007年测试员的工具选择排名
  8. 图片如何转PDF格式?这些方法值得收藏
  9. 2022美国大学生数学建模竞赛(美赛)思路代码
  10. 博弈论——扩展式博弈(Extensive Game)
  11. java网页保存成pdf_JavaScript+Java实现HTML页面转为PDF文件保存的方法
  12. 计算机一级单元格填充,电脑Excel表格怎么对不连续的单元格进行批量填充
  13. ear的英语怎么念_适合三年级英语课堂的小游戏
  14. 简单常用的http压测工具
  15. 如何让搜索引擎搜索到自己的个人博客网站(如何提交网站到各搜索引擎,如百度、必应Bing,以及提交页面URL的地址)
  16. 分享几个微信实用小技巧(二)
  17. Linux上C语言程序编译过程详解
  18. 2018世界杯所有场次记录
  19. C++ 性能优化篇一《优化概述》
  20. 信息检索 | 网页检索基本技能

热门文章

  1. 五款服装连锁店进销存软件排名推荐
  2. ralink网卡驱动 linux,Ralink for linux Usb无线网卡驱动编译
  3. matlab评价模型和预测模型
  4. 【rmzt】动漫性感美女win7主题_8.13
  5. C++ Toolkit zz
  6. ROSE HA,想说爱你不容易——为ROSE HA配置IP资源的LocalFailover
  7. Oracle卸载(无universal installer)
  8. [ERP/鼎捷E10][生产制造]取代料/替代料
  9. 苹果6严重卡顿_苹果手机变慢变卡,怎么破?
  10. (TeamTalk服务端源码分析一)TeamTalk服务端部署