JAVA模拟生成新能源汽车数据——随机生成车架号

本文详细介绍了如何使用JAVA模拟生成符合规范的车架号,包括车架号的组成部分、校验码计算、生成随机年份代码、生产序号等,以及如何确保车架号的正确性。此外,还讨论了在生成新能源车辆数据时的注意事项,如数据存储格式、数据量要求、重复数据和历史数据的混合等。
摘要由CSDN通过智能技术生成

目录

二.随机生成车架号

        1、车架号的组成部分

 (1)第1位:代表出厂国家/地区

(2)第2位:代表汽车制造商代码

(3)第3位:车系代码 

(4)第4位:排量或安全保护装置

(5)第5位:车身类型

(6)第6位:发动机变速箱

(7)第7-8位:车型代码

(8)第9位:校验码

(9)第10位:出厂年份

(10)第11位:车辆组装地(装配厂)

(11)第12~17位:出厂顺序代码

2、生成车架号可能需要的字符

 3、计算校验码

4、通过判断车架号的第9位是否是正确的校验码,判断车架号vin是否正确

5、生成随机车辆特征

6、生成随机年份代码

7、 生成随机的生产序号

8、拼接车架号

 9、返回随机字符

 10、获取随机车架号

11、获取对应数量的随机车架号

 12、随机获取重复的车架号

三、随机生成车架号代码整理


模拟生成新能源车辆数据

编写一个程序,每天凌晨3点模拟生成当天的新能源车辆数据(字段信息必须包含:车架号、行驶总里程、车速、车辆状态、充电状态、剩余电量SOC、SOC低报警、数据生成时间等)。

要求:1、最终部署时,要将这些数据写到第一题的HDFS中。(如果有多个组做第一题,则任选一个HDFS即可);

2、车辆数据要按天存储,数据格式是JSON格式,另外如果数据文件大于100M,则另起一个文件存。每天的数据总量不少于300M。比如假设程序是2023-01-1 03点运行,那么就将当前模拟生成的数据写入到HDFS的/can_data/2023-01-01文件夹的can-2023-01-01.json文件中,写满100M,则继续写到can-2023-01-01.json.2文件中,依次类推;

3、每天模拟生成的车辆数据中,必须至少包含20辆车的数据,即要含有20个车架号(一个车架号表示一辆车,用字符串表示);

4、每天生成的数据中要有少量(20条左右)重复数据(所有字段都相同的两条数据则认为是重复数据),且同一辆车的两条数据的数据生成时间间隔两秒;

5、每天生成的数据中要混有少量前几天的数据(即数据生成时间不是当天,而是前几天的)。

二.随机生成车架号

        1、车架号的组成部分

 (1)第1位:代表出厂国家/地区

地理区域的分配规则如下:1-5为北美,6-7为大洋洲,8、9和0为南美洲,A-H为非洲,J-R为亚洲,S-Z为欧洲。具体如下:

(2)第2位:代表汽车制造商代码

全球常见汽车制造商代码表格如下:

(3)第3位:车系代码 

第4~8位:描述车辆特征

这几位,不同的厂商,字符的解析意思不尽相同。一汽奥迪的如下:

(4)第4位:排量或安全保护装置

A-安全带;B-安全带+安全气囊;2-1.4T;3-2.0T;4-2.4;5-2.5、2.8;6-3.0T...

(5)第5位:车身类型

A-四门三厢、B-四门两厢、C-四门方背

(6)第6位:发动机变速箱

1-手动汽油、2-自动汽油、3-手动柴油、4-自动柴油

(7)第7-8位:车型代码
(8)第9位:校验码

第九为实校验码,只能是数字0-9或X,它是由其他16位字码对应数值乘以其所位置权数的和除以11所得的余数;当余数为0-9时候,余数就是检验数字;当余数为10时,X为检验代码。校验码的目的就是核对数字,检验VIN填写是否正确,并能防止假冒产品

数字及英文字母对应值:

VIN码位置对应的加权系数

(9)第10位:出厂年份
(10)第11位:车辆组装地(装配厂)
(11)第12~17位:出厂顺序代码

这六位数由厂家自行决定第12-13代码可由0-9和A-Z(除'I'、'O'、'Q'外);第14-17,这最后四位则必须也只能为0-9的数字。

以上车架号解析转载于:汽车车架号怎么看? - Do it的回答 - 知乎 https://www.zhihu.com/question/302148790/answer/86062112

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值