当前位置: 首页 > news >正文

控制台实现汽车租赁系统

汽车租赁系统需求:(基于控制台实现,适合基础小白练习使用)
1、包含汽车租赁和汽车管理两个模块
2、汽车租赁需要包含汽车租赁天数以及汽车租金结算功能
3、汽车管理需要包含租赁汽车的添加、删除、修改、查询功能

代码如下:

package Demo20230907;import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;/*** <p>汽车租赁系统</p>** @author 波波老师(weixin : javabobo0513)*/
public class Test01 {public static void main(String[] args) {//map存储店铺所有车Map<Integer, Car> map = new HashMap<>();map.put(1, new Car("跑车", "玛莎拉蒂", "鄂A11111", 1500.0D));map.put(2, new Car("客车", "金龙", "鄂A22222", 1100.0D));map.put(3, new Car("卡车", "皮卡", "鄂A333333", 800.0D));map.put(4, new Car("跑车", "兰博基尼", "鄂A444444", 3200.0D));Integer menuId = 0;do{try {System.out.println("********************欢迎光临汽车租赁公司********************");System.out.println("1、汽车租赁 \t 2、汽车管理  \t  3、退出");System.out.println("*********************************************");System.out.println("请选择(1-3):");Scanner sc = new Scanner(System.in);menuId = sc.nextInt();switch (menuId){case 1://先打印所有车的数据printMap(map);System.out.println("请选择要租赁的汽车:");int carNo = sc.nextInt();//汽车编号  2System.out.println("请输入需要租赁的天数:");int days = sc.nextInt();//租赁天数//根据车的序号取出车的信息打印出来给用户确认Car car = map.get(carNo);System.out.println("您要租赁的车为:" + car.getChexing() + "," + car.getChepai());//计算总租金Double totalZujin = car.getZujin() * days;System.out.println("您要租赁的车为:" + car.getChexing() + "," + car.getChepai());System.out.println("总租金为:" + totalZujin);System.out.println("是否租用?请选择:1:租用;2:不租用");int select = sc.nextInt();//是否租用值if(select == 1){//租用car.setFlag(1);//改状态System.out.println("恭喜您,租赁了" + car.getPingpai() + ",车牌为:" + car.getChepai() + ",总租金为" + totalZujin);}break;case 2:int selectValue = 0;do{System.out.println("********************************欢迎进入汽车管理后台********************************");System.out.println("1、新增汽车 \t 2、删除汽车  \t  3、修改汽车 \t 4、查询所有汽车 \t 5、退出");System.out.println("*********************************************");System.out.println("请选择(1-5):");selectValue = sc.nextInt();switch (selectValue){case 1:System.out.println("请输入你需要添加的汽车类型:");String chexing = sc.next();System.out.println("请输入你需要添加的汽车品牌:");String pingpai = sc.next();System.out.println("请输入你需要添加的汽车车牌:");String chepai = sc.next();System.out.println("请输入你需要添加的汽车日租金:");Double zujin = sc.nextDouble();Car c1 = new Car(chexing, pingpai, chepai, zujin);map.put(getMapMaxKey(map) + 1, c1);System.out.println("新增成功");break;case 2://先打印所有汽车数据printMap(map);System.out.println("请选择需要删除的汽车编号:");int deleteCarNo = sc.nextInt();Car deleteCar = map.get(deleteCarNo);if(deleteCar.getFlag() == 1){//已租用System.out.println("出租中,不能删除");}else{map.remove(deleteCarNo);System.out.println("删除成功");}break;case 3:printMap(map);System.out.println("请选择需要修改的汽车编号:");int updateCarNo = sc.nextInt();Car updateCar = map.get(updateCarNo);System.out.println("请输入日租金:");double updateZujin = sc.nextDouble();updateCar.setZujin(updateZujin);System.out.println("修改成功");break;case 4://打印所有车辆信息printMap(map);break;case 5:break;}}while(selectValue != 5);break;case 3:System.out.println("退出系统,感谢老铁,欢迎下次使用!");break;case 4:break;}} catch (Exception e) {System.out.println("输入值不合法,请重新输入");menuId = 4;}}while (menuId != 3);}//作用:打印map数据public static void printMap(Map<Integer, Car> map){Set<Map.Entry<Integer, Car>> set = map.entrySet();System.out.println("汽车列表:");for(Map.Entry<Integer, Car> obj : set){System.out.println(obj.getKey() + ":" + obj.getValue());}}//作用:获取map中key的最大值public static Integer getMapMaxKey(Map<Integer, Car> map){Set<Map.Entry<Integer, Car>> set = map.entrySet();Integer max = 0;for(Map.Entry<Integer, Car> obj : set){int maxKey = obj.getKey();if(maxKey > max){max = maxKey;}}return max;}
}

以上代码仅供参考,如有不足,欢迎留言指正,大家还可以再增加一些其他功能,比如:在做汽车添加、删除等操作时,需要输入账号密码做校验,验证通过才能进行操作,否则就不能操作

相关文章:

控制台实现汽车租赁系统

汽车租赁系统需求&#xff1a;&#xff08;基于控制台实现&#xff0c;适合基础小白练习使用&#xff09; 1、包含汽车租赁和汽车管理两个模块 2、汽车租赁需要包含汽车租赁天数以及汽车租金结算功能 3、汽车管理需要包含租赁汽车的添加、删除、修改、查询功能 代码如下&#…...

机器学习和数据挖掘03-模型性能评估指标

Accuracy&#xff08;准确率&#xff09; 概念&#xff1a;模型正确预测的样本数量与总样本数量的比例。 公式&#xff1a;Accuracy (TP TN) / (TP TN FP FN) TP (True Positives)&#xff1a;正确预测为正例的样本数。即模型正确地将正例判定为正例。 TN (True Negati…...

PageNumberPagination、LimitOffsetPagination、CursorPagination

数据 from django.db import modelsclass User(models.Model):username models.CharField(max_length64, verbose_name用户名)password models.CharField(max_length64, verbose_name密码)# 用户类型user_type models.IntegerField(choices((1, 菜鸟用户), (2, 普通用户), …...

怎么把视频转换成mp4格式

怎么把视频转换成mp4格式&#xff1f;如今&#xff0c;随着科技的不断发展&#xff0c;我们在工作中接触到的多媒体视频格式也越来越多。其中&#xff0c;MP4作为一种广泛兼容的视频格式&#xff0c;在许多软件中都能轻松播放&#xff0c;并且成为了剪辑与裁剪视频时大家常用的…...

正则判断字符是否包含手机号

字符前后不能是数字,满足手机号标准 String msg "19009098989";String mobliePattern "((?<!\\d))(mobile|手机号|)(|\\[|\\\":\\\"|:|&#xff1a;||:|)(1)([3-9]{1}\\d{1})(\\d{4})(\\d{4})(\\]|\\\"||)((?!\\d))";String mobileR…...

OSCP系列靶场-Esay-Sumo

OSCP系列靶场-Esay-Sumo 总结 getwebshell : nikto扫描 → 发现shellshock漏洞 → 漏洞利用 → getwebshell 提 权 思 路 : 内网信息收集 → 内核版本较老 →脏牛提权 准备工作 启动VPN 获取攻击机IP → 192.168.45.194 启动靶机 获取目标机器IP → 192.168.190.87 信息收…...

本地电脑搭建web服务器、个人博客网站并发布公网访问 【无公网IP】(1)

文章目录 前言1. 安装套件软件2. 创建网页运行环境 指定网页输出的端口号3. 让WordPress在所需环境中安装并运行 生成网页4. “装修”个人网站5. 将位于本地电脑上的网页发布到公共互联网上 前言 在现代社会&#xff0c;网络已经成为我们生活离不开的必需品&#xff0c;而纷繁…...

Python基础List列表定义与函数

如何定义一个非空的列表&#xff1f; name_list ["liming","xiaohong",15,{"hobby":"basketball"}] 列表的特点&#xff1a; 1.列表是有序的 2.可以存放多个元素 3.每个元素可以是任何数据类型 定义一个空列表 name_list [] 访…...

typeScript--[数据定义]

一.安装ts 1.命令行运行如下命令&#xff0c;全局安装 TypeScript&#xff1a; npm install -g typescript2.安装完成后&#xff0c;在控制台运行如下命令&#xff0c;检查安装是否成功 tsc -V 二.创建ts文件 1.创建一个day01.ts文件&#xff0c;随便在里面码一点代码&…...

【常见相机模型】

常见相机模型 enum class Type {kPinhole 0,kUnifiedProjection 1,kOmni 2, //optimize_on_spherekEqFisheye 3};其余类型optimize_on_plane这4种类型的相机模型具有以下差异&#xff1a; kPinhole (针孔相机模型)&#xff1a;这是最基本和常见的相机模型。它假设光线通过…...

大数据-玩转数据-Flink状态编程(上)

一、Flink状态编程 有状态的计算是流处理框架要实现的重要功能&#xff0c;因为稍复杂的流处理场景都需要记录状态&#xff0c;然后在新流入数据的基础上不断更新状态。 SparkStreaming在状态管理这块做的不好, 很多时候需要借助于外部存储(例如Redis)来手动管理状态, 增加了编…...

主动获取用户的ColaKey接口

主动获取用户的ColaKey接口 一、主动获取用户的ColaKey接口二、使用步骤1、接口***重要提示:建议使用https协议,当https协议无法使用时再尝试使用http协议***2、请求参数 三、 请求案例和demo1、请求参数例子&#xff08;POST请求&#xff0c;参数json格式&#xff09;2、响应返…...

C#写一个UDP程序判断延迟并运行在Centos上

服务端 using System.Net.Sockets; using System.Net;int serverPort 50001; Socket server; EndPoint client new IPEndPoint(IPAddress.Any, 0);//用来保存发送方的ip和端口号CreateSocket();void CreateSocket() {server new Socket(AddressFamily.InterNetwork, SocketT…...

Kafka核心原理第二弹——更新中

架构原理 一、高吞吐机制&#xff1a;Batch打包、缓冲区、acks 1. Kafka Producer怎么把消息发送给Broker集群的&#xff1f; 需要指定把消息发送到哪个topic去 首先需要选择一个topic的分区&#xff0c;默认是轮询来负载均衡&#xff0c;但是如果指定了一个分区key&#x…...

巨人互动|游戏出海H5游戏出海规模如何?

H5游戏出海是指将H5游戏推广和运营扩展到国外市场的行为&#xff0c;它的规模受到多个因素的影响。本文小编讲一些关于H5游戏出海规模的详细介绍。 1、市场规模 H5游戏出海的规模首先取决于目标市场的规模。不同国家和地区的游戏市场规模差异很大&#xff0c;有些市场庞大而成…...

【爬虫】实验项目三:验证码处理与识别

目录 一、实验目的 二、实验预习提示 三、实验内容 实验要求 基本要求&#xff1a; 改进要求A&#xff1a; 改进要求B&#xff1a; 四、实验过程 基本要求 五、源码如下 六、资料 一、实验目的 部分网站可能会使用验证机制来阻止用户无效登录或者是验证用户不是用程…...

广东成人高考报名将于9月14日开始!

截图来自广东省教育考试院官网* 今年的广东成人高考正式报名时间终于确定了&#xff01; 报名时间&#xff1a;2023年 9 月14—20日 准考证打印时间&#xff1a;考前一周左右 考试时间&#xff1a;2023年10月21—22日 录取时间&#xff1a;2023年12 月中上旬 报名条件: …...

pytorch中文文档学习笔记

先贴上链接 torch - PyTorch中文文档 首先我们需要安装拥有pytorch的环境 conda指令 虚拟环境的一些指令 查看所有虚拟环境 conda info -e 创建新的虚拟环境 conda create -n env_name python3.6 删除已有环境 conda env remove -n env_name 激活某个虚拟环境 activate env…...

element-ui全局导入与按需引入

全局引入 npm i element-ui -S 安装好depencencies里面可以看到安装的element-ui版本 然后 在 main.js 中写入以下内容&#xff1a; import Vue from vue; import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css; import App from ./App.vue;Vue.…...

go 地址 生成唯一索引v2 --chatGPT

问&#xff1a;golang 函数 getIndex(n,addr,Hlen,Tlen) 返回index。参数n为index的上限&#xff0c;addr为包含大小写字母数字的字符串,Hlen为截取addr头部的长度&#xff0c;Tlen为截取addr尾部的长度 gpt: 你可以编写一个函数来计算根据给定的参数 n、addr、Hlen 和 Tlen …...

JSON XML

JSON&#xff08;JavaScript Object Notation&#xff09;和XML&#xff08;eXtensible Markup Language&#xff09;是两种常用的数据交换格式&#xff0c;用于在不同系统之间传输和存储数据。 JSON是一种轻量级的数据交换格式&#xff0c;它使用易于理解的键值对的形式表示数…...

2023年MySQL实战核心技术第四篇

七 . 吃透索引&#xff1a;...

cmake编译(qtcreator)mingw下使用的osg3.6.5

官网下载osg3.6.5源码&#xff0c;先不使用依赖库&#xff0c;直接进行编译 如果generate后报错&#xff0c;显示找不到boost必须库&#xff0c;则手动增加路径。然后先在命令行中使用mingw32-make&#xff0c;如果显示不存在&#xff0c;则需要去环境变量里配置一下这个工具的…...

Python钢筋混凝土结构计算.pdf-混凝土强度设计值

计算原理&#xff1a; 需要注意的是&#xff0c;根据不同的规范和设计要求&#xff0c;上述公式可能会有所差异。因此&#xff0c;在进行混凝土强度设计值的计算时&#xff0c;请参考相应的规范和设计手册&#xff0c;以确保计算结果的准确性和合规性。 代码实现&#xff1a; …...

elasticsearch的索引库操作

索引库就类似数据库表&#xff0c;mapping映射就类似表的结构。我们要向es中存储数据&#xff0c;必须先创建“库”和“表”。 mapping映射属性 mapping是对索引库中文档的约束&#xff0c;常见的mapping属性包括&#xff1a; type&#xff1a;字段数据类型&#xff0c;常见的…...

把握市场潮流,溯源一流品质:在抖in新风潮 国货品牌驶过万重山

好原料、好设计、好品质、好服务……这个2023&#xff0c;“国货”二字再度成为服饰行业的发展关键词。以消费热潮为翼&#xff0c;越来越多代表性品类、头部品牌展现出独特价值&#xff0c;迎风而上&#xff0c;在抖音电商掀起一轮轮生意风潮。 一个设问是&#xff1a;在抖音…...

【网络教程】Python如何优雅的分割URL

文章目录 URL分割方法是一种用于解析URL字符串的方法,它可以将URL分解成不同的组成部分,如协议、域名、端口、路径等。在Python中,我们可以使用urllib.parse模块中的urlsplit方法来实现URL分割。 使用方法 下面是一个简单的示例代码,演示了如何使用urlsplit方法解析URL字符…...

1998-2014年工业企业数据库和绿色专利匹配

1998-2014年工业企业数据库绿色专利匹配 1、时间&#xff1a;1998-2014年 2、样本量&#xff1a;470万 3、来源&#xff1a;工业企业数据库、国家知识产权局、WIPO 4、指标&#xff1a; 企业匹配唯一标识码、组织机构代码、企业名称、年份、法定代表人、法定代表人职务、行…...

Python基于Mirai开发的QQ机器人保姆式教程(亲测可用)

在本教程中&#xff0c;我们将使用Python和Mirai来开发一个QQ机器人&#xff0c;本文提供了三个教学视频&#xff0c;包教包会&#xff0c;本文也很贴心贴了代码和相关文件。话不多说&#xff0c;直接开始教学。 目录 一、安装配置MIrai 图片验证码报错&#xff1a; 二、机器…...

算法笔记:堆

【如无特别说明&#xff0c;皆为最小二叉堆】 1 介绍 2 特性 结构性&#xff1a;符合完全二叉树的结构有序性&#xff1a;满足父节点小于子节点&#xff08;最小化堆&#xff09;或父节点大于子节点&#xff08;最大化堆&#xff09; 3 二叉堆的存储 顺序存储 二叉堆的有序…...

网站制作需求表/企业网站制作费用

复习Python的Day4 复习Python的Day4习题 5 更多的变量和打印习题代码加分习题 格式化操作符格式化操作符辅助符 习题 5: 更多的变量和打印 每一次使用” “把一些文本引用起来&#xff0c;你就建立了一个字符串&#xff0c;的的确确&#xff0c;字符串是非常好用的东西。 字符…...

在线做ppt的网站有哪些/石家庄seo网络推广

卷积神经网络(CNN) 属于人工神经网络的一种&#xff0c;它的权重共享的网络结构显著降低了模型的复杂度&#xff0c;减少了权值的数量。卷积神经网络可以直接将图片作为网络的输入&#xff0c;自动提取特征&#xff0c;并且对图片的变形&#xff08;如平移、比例缩放、倾斜&…...

移动电商网站开发需求文档/如何创造一个自己的网站

作者&#xff1a;Larry链接&#xff1a;https://zhuanlan.zhihu.com/p/22536382...

备案后可以修改网站吗/怎么简单制作一个网页

jinfo [-flags] pid 显示该进程的java设置&#xff0c;包括系统参数、虚拟机设置VM flags和启动参数Command line&#xff0c;加上-flags后只显示后两种 jmap -heap pid 显示使用了哪种垃圾收集器&#xff0c;heap有关的设置是什么&#xff0c;heap各个区域的使用量和使用率。图…...

做公司网站麻烦吗/潍坊网站建设解决方案

在看到了mongoTemplate的操作之后&#xff0c;觉得这种东西是很符合我们程序员世界的操作的&#xff0c;但是看到mysql的jdbc之后&#xff0c;瞬间一百万个小泥马从头飘过&#xff0c;所以就想自己实现一个mysql版本的upsert功能&#xff0c;有set与increase,decrease。实现操作…...

做日本机械零件的外贸网站/可以看封禁网站的浏览器

更多LeetCode算法与参考&#xff1a; https://github.com/kkman2008/Notebook/blob/master/notes/Leetcode%20%E9%A2%98%E8%A7%A3.md ------------------------------------ 将整数字符串转成整数值 题目 给定一个字符串str&#xff0c;如果str符合日常书写的整数形式&…...