Java小项目(三)---汽车租赁系统(面向对象)


❤️欢迎 点赞 👍 收藏 ⭐ 留言 📝 关注 ✌ 私聊我

一、使用技术

Java SE

二、实现功能

使用数组,面向对象的知识实现一个汽车租赁系统(作者未使用数组)

2.1 汽车租赁信息表如下

在这里插入图片描述

2.2 类和属性

在这里插入图片描述

三、运行效果图

在这里插入图片描述
在这里插入图片描述

四、实现的代码

4.1 Car汽车类(父类)

package CarSystem;

//父类  汽车类:车牌号、品牌、日租金
public class Car {
    private String id;
    private String type;
    private  int dayMoney;

    //无参构造方法
    public Car() {
    }

    //带参构造方法
    public Car(String id, String type, int dayMoney) {
        this.id = id;
        this.type = type;
        this.dayMoney = dayMoney;
    }
    
    //父类的计算租金的方法
    public double getMoney(int days){
        //定义计算总租金的变量和方法
        double money =this.getDayMoney()*days;
        return money;
    }


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public int getDayMoney() {
        return dayMoney;
    }

    public void setDayMoney(int dayMoney) {
        this.dayMoney = dayMoney;
    }

}

4.2 Bus客车类(子类)

package CarSystem;

//客车类:车牌号、品牌、日租金、座位数
public class Bus extends Car {

    //座位数
    private int seatCount;
    
    //带参构造方法
    public Bus(String id, String type, int dayMoney, int seatCount) {
        super(id, type, dayMoney);
        this.seatCount = seatCount;
    }

   //无参构造方法
    public Bus() {

    }

    //重写父类计算租金的方法:根据自己的计算租金的规则
    public double getMoney(int days){
        //定义计算总租金的变量和方法
        double money =this.getDayMoney()*days;
        //增加租车天数的判断和相应的折扣
        if(days>=150){
            money *=0.6;
        }else if(days>=30){
            money *= 0.7;
        }else if(days>=7){
            money *=0.8;
        }else if(days>=3){
            money *=0.9;
        }
        return money;
    }
    
    public int getSeatCount() {
        return seatCount;
    }

    public void setSeatCount(int seatCount) {
        this.seatCount = seatCount;
    }
}

4.3 SaloonCar轿车类(子类)

package CarSystem;

//轿车类:车牌号、品牌、日租金、型号
public class SaloonCar extends Car{
    
    //型号
    private String typeNum;
    
    //无参构造方法
    public SaloonCar() {
    }

    //带参构造方法
    public SaloonCar(String id, String type, int dayMoney, String typeNum) {
        super(id, type, dayMoney);
        this.typeNum = typeNum;
    }
    
    //重写父类计算租金的方法:根据自己的计算租金的规则
    public double getMoney(int days){
        //定义计算总租金的变量和方法
        double money =this.getDayMoney()*days;
        //增加租车天数的判断和相应的折扣
        if(days>150){
            money *=0.7;
        }else if(days>30){
            money *= 0.8;
        }else if(days>7){
            money *=0.9;
        }
        return money;
    }
    public String getTypeNum() {
        return typeNum;
    }

    public void setTypeNum(String typeNum) {
        this.typeNum = typeNum;
    }
}

4.4 Test汽车租赁系统测试类

package CarSystem;
//汽车租赁系统测试类
import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        System.out.println("*********欢迎光临秋名山守望者汽车租赁公司******************");
        System.out.println("1、轿车 2、客车");
        Scanner sc = new Scanner(System.in);
        System.out.print("请选择你要租赁的汽车类型:");
        int typeNum = sc.nextInt();
        if(typeNum==1){
            //轿车
            SaloonCar saloonCar = new SaloonCar();
            System.out.print("请选择你要租赁的汽车品牌:(1.别克 2.宝马)");
            int pingNum2 = sc.nextInt();

            if(pingNum2==1){
                System.out.print("请选择你要租赁的汽车类型:(1、林荫大道 2、GL8)");
            }else if(pingNum2==2){
                System.out.print("请选择你要租赁的汽车类型:(1、X6 2、550i)");
            }
            int  seatNum2 = sc.nextInt();
            System.out.print("请选择您要租赁的天数:");
            int dayNum1 = sc.nextInt();
            if(pingNum2==1&&seatNum2==1){
                saloonCar.setDayMoney(300);
                System.out.println("分配给您的汽车牌号是:京NY37465");
            }else if(pingNum2==1&&seatNum2==2){
                saloonCar.setDayMoney(600);
                System.out.println("分配给您的汽车牌号是:京NT96968");
            }else if(pingNum2==2&&seatNum2==1){
                saloonCar.setDayMoney(800);
                System.out.println("分配给您的汽车牌号是:京NY28588");
            }else if(pingNum2==2&&seatNum2==2){
                saloonCar.setDayMoney(600);
                System.out.println("分配给您的汽车牌号是:京CNY3284");
            }
            System.out.println("您需要支付的租赁费用是:"+saloonCar.getMoney(dayNum1)+"元。");
        }else if(typeNum==2){
            //客车
            Bus bus = new Bus();
            System.out.print("请选择你要租赁的汽车品牌:(1.金龙 2.金杯)");
            int pingNum1 = sc.nextInt();
            System.out.print("请选择你要租赁的汽车座位数:(1、16座 2、34座)");
            int seatNum1 = sc.nextInt();
            System.out.print("请选择您要租赁的天数:");
            int dayNum2 = sc.nextInt();
            if(pingNum1==1&&seatNum1==1){
               bus.setDayMoney(800);
                System.out.println("分配给您的汽车牌号是:京8696997");
            }else if(pingNum1==1&&seatNum1==2){
                bus.setDayMoney(1500);
                System.out.println("分配给您的汽车牌号是:京8696998");
            }else if(pingNum1==2&&seatNum1==1){
                bus.setDayMoney(800);
                System.out.println("分配给您的汽车牌号是:京6566754");
            }else if(pingNum1==2&&seatNum1==2){
                bus.setDayMoney(1500);
                System.out.println("分配给您的汽车牌号是:京9696996");
            }else{
                System.out.print("输入错误,请重新输入。");
            }
            System.out.println("您需要支付的租赁费用是:"+bus.getMoney(dayNum2)+"元。");
        }

    }
}

Java入门级学习指南

第一部分:JAVA 设计和编程基础(OOD 和 OOP)
1.1Java 语言基础
01初识Java
02数据类型和运算符
03流程结构
04数组
05数组综合应用
扩展
快捷键生成代码
关键字汇总
命名规范
window上常用的开发快捷键
Java中if(条件){语名}和if(条件)语句的区别
Java中交换两个变量(两种方式)
Java中输入一个学员的成绩,输出四种结果:优秀,良好,及格,不及格
Java中switch结构判断某个月份是属于什么季节
Java中 三种循环结构输出100以内的整数和
Java中定义一维数组的三种方式
Java数组中查找最大值和最小值
Java求所有水仙花数
Java实现九九乘法表的打印和输出
Java中输入一个整数n,实现n的阶乘
Java中动态输入一组数,存到数组里面,利用四种循环打印出数组的所有元素。
switch() case的()可以放什么类型
冒泡排序算法
选择排序算法
二分查找法

1.2Java 面向对象
06认识类与对象
07方法
08三大特性:封装、继承和多态
09单例设计模式(Singleton)
10抽象类和接口
扩展
设计模式
内存分析详解(栈、堆和方法区)程序执行的内存变化过程
1.3JavaSE 核心类库
Java 核心类、Obect 类、Math 类、Random 类、BigDecimal 类、Java 字符串、日期处 理、包装类、Java 集合、数据结构、异常 和异常处理、Java IO、Java 泛型、XML 和 正则表达式、XML 解析、Java 反射机制。 多线程编程、并发、线程同步技术、线程 池、网络编程、TCP、UDP 编程(后置)

11常用类(一):比较器 、内部类和包装类
12常用类(二):Sring、正则、StringBuffer、StringBuilder、Math、Random、Date
13集合框架(一):List集合 、Set集合 、Map集合
14集合框架(二):泛型 、集合工具类、TreeMap和TreeSet
15异常
16 IO流
17Xml和反射
扩展
详解“==”和equals的区别
1.4三个实战项目
超市管理系统
外卖订餐系统
汽车租赁系统(面向对象)
汽车租赁系统(集合、面向对象)
第二部分:数据库技术、Web 前端技术(H5/JS)和 Java Web 开发
2.1MySql 数据库 开发
01MySQL基础
02枚举(enum)
03注解
04Properties
05索引
案例
MySQL基础语法使用案例
MySql 数据库 开发:使用注解、反射和正则表达式完成表单验证

2.2JDBC
05JDBC
06JDBC案例
扩展
小型银行系统
员工管理系统
简易商品管理系统
简易新闻发布系统
2.3数据库设计及开 发综合案例
07电子商城数据库设计及开发

2.4Web 前端基础 (HTML5/CSS3/JS)
08HTML5
09CSS3
10JavaScript
2.5Web 前端高级 jQuery 框架
11jQuery 框架

2.6Java Web 技术 JSP&Servlet
12网络和Servlet
13JSP
14 EL
15JSTL
16会话管理
17文件上传与下载

扩展
不会吧!不会吧!Servlet的生命周期,你才知道!
Servlet中请求转发和重定向的区别,看这一篇就够了!
JSP中传递参数方式之参数列表
2.7AJAX 框架
18AJAX

扩展
jsp页面中使用a标签进行删除请求时候使用弹出框确认后再删除
实现商品管理功能

第三部分:Java主流框架和商业软件开发流程&工具
1LayUI
2SVN
3Git
4Maven
5Linux
6Docker
7Spring
8Mybatis
9Redis
10Thymeleaf
扩展
使用Mybatis常见问题
福利
毕业一年的Java开发工程师面经❤️轻松拿到年薪20w+offer

  • 28
    点赞
  • 203
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
汽车租赁系统的UML(统一建模语言)是一种用于描述系统结构和行为的图形化工具。下面是汽车租赁系统的UML介绍: 1. 类图(Class Diagram):类图描述了系统中的类、类之间的关系以及类的属性和方法。在汽车租赁系统中,可能包含以下类: - Car(汽车):表示可租赁的汽车,包含属性如车牌号、品牌、型号等。 - Customer(顾客):表示租车的顾客,包含属性如姓名、联系方式等。 - Rental(租赁):表示租赁记录,包含属性如租赁开始时间、结束时间等。 - RentalSystem(租赁系统):表示整个汽车租赁系统,包含方法如租车、还车等。 2. 时序图(Sequence Diagram):时序图描述了系统中对象之间的交互顺序。在汽车租赁系统中,可以绘制以下时序图: - 租车流程:描述顾客租车的过程,包括选择车辆、填写租车信息、生成租赁记录等步骤。 - 还车流程:描述顾客还车的过程,包括填写还车信息、计算租金、更新租赁记录等步骤。 3. 活动图(Activity Diagram):活动图描述了系统中的活动流程和控制流程。在汽车租赁系统中,可以绘制以下活动图: - 租车活动:描述顾客租车的活动流程,包括选择车辆、填写租车信息、生成租赁记录等步骤。 - 还车活动:描述顾客还车的活动流程,包括填写还车信息、计算租金、更新租赁记录等步骤。 4. 状态图(State Diagram):状态图描述了对象在不同状态下的行为和转换。在汽车租赁系统中,可以绘制以下状态图: - 车辆状态:描述汽车在不同状态下的行为和转换,如可租赁状态、已租赁状态、维修状态等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱喝皮蛋瘦肉粥的小饶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值