已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/* * 【身份证号码的规则】 1、15位身份证号码组成: ddddddyymmddxxs共15位,其中: * dddddd为6位的地方代码,根据这6位可以获得该身份证号所在地。 yy为2位的年份代码,是身份证持有人的出身年份。 * mm为2位的月份代码,是身份证持有人的出身月份。 dd为2位的日期代码,是身份证持有人的出身日。 这6位在一起组成了身份证持有人的出生日期。 * xx为2位的顺序码,这个是随机数。 s为1位的性别代码,奇数代表男性,偶数代表女性。 2、18位身份证号码组成: * ddddddyyyymmddxxsp共18位,其中: 其他部分都和15位的相同。年份代码由原来的2位升级到4位。最后一位为校验位。 校验规则是: * (1)十七位数字本体码加权求和公式 S = Sum(Ai * Wi), i = 0, . , 16 ,先对前17位数字的权求和 * Ai:表示第i位置上的身份证号码数字值 Wi:表示第i位置上的加权因子 Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 * (2)计算模 Y = mod(S, 11) (3)通过模得到对应的校验码 Y: 0 1 2 3 4 5 6 7 8 9 10 校验码: 1 0 X 9 8 * 7 6 5 4 3 2 也就是说,如果得到余数为1则最后的校验位p应该为对应的0.如果校验位不是,则该身份证号码不正确。 */package citi;import java.util.Scanner;/* * author D.puntu * */public class MyIdCard private static String Id = null;private static String myIndexStr, index = null;private static int i = 0;private static int m = 0, n = 0, myIndex;private static int areaId, year, mon, day, sex;private static int id = 0;/ 从第一位到第十七位的数字的权值private static int myArrayIndex = 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9,10, 5, 8, 4, 2 ;public static void main(String args) startIndex();private static void startIndex() Scanner in = new Scanner(System.in);System.out.println(请输入身份证号(18位数字):);Id = in.next();i = Id.length();while (i != 18) if (i 18) System.out.println(身份证号码只有18位数字,但是您输入 + i + 位,请重新输入);Id = in.next();i = Id.length(); else if (i 18) System.out.println(身份证号码应该有18位数字,但是您输入 + i + 位,请重新输入);Id = in.next();i = Id.length();if (i = 18) while (!getAreaId(Id, i) | !getYear(Id, i) | !getMon(Id, i)| !getDay(Id, i) Id = in.next();i = Id.length();getIndex(Id, i, getSum(Id, i);private static int getSum(String id, int i) for (m = 0; m 659001 | areaId 2015 | year 1865) System.out.println(输入的身份证号码年份有错误!请重新输入身份证号码);myYear = false; else myYear = true;return myYear;public static boolean getMon(String str, int i) boolean myMon = false;mon = Integer.parseInt(str.substring(id + 10, id + 12);if (mon = 1) myMon = true; else System.out.println(输入的身份证号码月份有错误!请重新输入身份证号码);return myMon;public static boolean getDay(String str, int i) boolean myDay = false;int dayToMon = Integer.parseInt(str.substring(id + 10, id + 12);day = Integer.parseInt(str.substring(id + 12, id + 14);if (day = 1 & day = getMonday(dayToMon) myDay = true; else System.out.println(输入的身份证号码天数与对应的月份不一致!请重新输入身份证号码);return myDay;public static int getMonday(int i) int jDay = 0;switch (i) case 1:case
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江国企招聘-2025年温州永嘉县国有企业面向社会公开招聘工作人员25人历年真题汇编及答案解析(夺冠)
- 中国安能建设集团有限公司2026年度校园招聘历年真题汇编附答案解析
- 2026年投资项目管理师之投资建设项目决策考试题库200道带答案(预热题)
- 四川省第七地质大队关于2025年下半年公开考核招聘工作人员(17人)模拟试卷附答案解析
- 2025江苏省省级机关医院放射科派遣制人员招聘1人参考题库带答案解析
- 2025下半年四川南充临江建设发展集团有限责任公司招聘2人历年真题库附答案解析
- 南充市房地产管理局2025年公开遴选参照管理人员(2人)历年真题汇编附答案解析
- 2025广东深圳市宝安区水田实验学校诚聘初中小学数学教师备考题库带答案解析
- 2025四川宜宾三江新区第一次招聘公立医疗机构合同制专业技术人员20人备考公基题库附答案解析
- 2025广东惠州大亚湾开发区招聘西区街道社区工作者30人历年真题汇编带答案解析
- 华为人工智能全套完整教学课件
- JG/T 312-2011遇水膨胀止水胶
- 2025年自动扶梯配套件项目市场调查研究报告
- (高清版)DG∕TJ 08-2087-2019 混凝土模卡砌块应用技术标准
- DB37T 4706-2024事故车辆损失鉴定评估规范
- 蜜雪冰城加盟合同协议
- T-CSPSTC 113-2023 跨座式单轨旅游轨道系统设计规范
- 贵宾接待面试题及答案
- DB63T 1600-2025 高海拔高寒地区公路边坡生态防护技术施工规范
- 浙江省杭州市杭州市萧山区高桥初级中学2024-2025学年下学期初三期中语文试题卷(简答)含解析
- 充装站气瓶充装质量保证体系手册
评论
0/150
提交评论