java 操作系统位数_用于Java的第18位数字的简单算法

公共类标识号{

public static void main(字符串[] args){

system.out.println(getlastidnum(“ 37018319880321312”));

}

/ **

*名称: 计算18位ID卡的最后一位

*功能: 根据您的ID编号的前17位数字查找最后一位数字

*最后一位的算法:

* 1. ID号的前17位乘以权重: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

*(例如,第一个数字乘以7,第二个数字乘以9号第18位计算器,依此类推)

* 2.再次对以上所有产品求和

* 3.使用mod和11()的总和得出小于11(0到11)的数字.

* 4.然后从校验位10 x 9 8 7 6 5 4 3 2

中找到最后一位

*如果得到0,则对应于第一位: 1,如果得到1,则对应于第二位: 0

*如果得到2,则对应于第三个位置: x,如果得到3,则对应于第四个位置: 9,依此类推

* 5.我得到了ID的最后一位

* /

公共静态字符getlastidnum(字符串前缀){

字符lastid = null;

//如果输入的字符串不包含17位数字,则无法计算并直接返回

if(preids == null && preids.length()<17){

返回null;

}

int [] weightarray = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2}; //权重数组

string vcode =“ 10x98765432”; //检查代码字符串

int sumnum = 0; //前17是数字乘以权重再求和

//乘以重量,然后求和

for(int i = 0; i <17; i){

int索引= integer.parseint(preids.charat(i)“”);

sumnum = sumnum index * weightarray [i]; //乘以重量然后求和

}

int modnum = sumnum; //取模

lastid = vcode.charat(modnum); //从验证码中找到相应的号码

返回lastid;

}

} blockquote>

您可能感兴趣的文章:

js ID验证码支持15位和18位ID

js信息有效性示例验证

常用的JS验证码(电子邮件号第18位计算器,手机号码,ID号,文件类型等)百科全书

用于验证有效性的JS示例代码

用于ID号验证的正则表达式示例

用于验证的JS代码

用于根据号码计算性别,年龄,生日的JS示例代码

一些用于验证数字的正则表达式

用于ID验证的优质js脚本

了解javascipt的正则表达式

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-159203-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值