前言
在网络诈骗的宣传过程中,常常提到不要去泄露自己的身份证号码,为什么呢?知己知彼,方能不被受骗,下面是对读取身份证信息的浅浅编写,没有搞的太深哟。希望个位小伙伴保护好自己的身份证信息。
一、需要实现什么样的功能?
读取身份证信息系统,即用户输入身份证号码后,系统自动输出身份证号码上各自数字代表的内容。如,性别,证信息系统,即用户输入身份证号码后,系统自动输出身份证号码上各自数字代表的内容。如,性别,出生日期,年龄。当然一般这种更详细的内容都是调入当地数据库里调取出来的,和本篇文章是两码事,再次强调保护好自己的身份证号。
二、编写过程
1.逻辑分析
(1)该系统要能多次查询,不是一次性工具
通过while循环语句,将系统代码,嵌套在该语句中来实现多次查询
(2)该系统需要用户输入身份证号码
通过Scanner方法,用String数据类型,使用户输入身份证号码
(3)该系统要检测输入的号码是否为身份证
通过length方法检测用户输入的号码长度是否为18位
(4)该系统要截取身份证号的数字,进行解读输出。
通过substring方法截取性别,出生日期的相关身份证号数字
(5)该系统截取的数字能进行运算
通过Integer.parseInt方法,将截取的String类型数据转换为Int类型
(6)该系统需要通过信息识别出性别
通过if条件语句,判断第十七位的奇偶,输出相应的性别
注:其他琐碎的代码已经省略。
2.实操展示
代码如下:
import java.util.Scanner; public class printDemo { static Scanner sc=new Scanner(System.in); public static void main(String[] args) { int i=0; while(i==0){ System.out.println("---中华人民共和国身份证信息转译系统---"); System.out.println("请输入您需要查询的身份证号码:"); String idCard=sc.next(); int length=idCard.length(); if(length!=18) { System.out.println(" 您输入的号码不是身份证,请重新输入"); }else { String year=idCard.substring(6, 10); String month=idCard.substring(10, 12); String day=idCard.substring(12,14); String sex=idCard.substring(16,17); int num=Integer.parseInt(sex); if(num%2==0) { System.out.println(" 该中国居民性别为:女"); }else { System.out.println(" 该中国居民性别为:男"); } System.out.println(" 该中国居民出生日期为:"+year+"年"+month+"月"+day+"日"); int num1=Integer.parseInt(year); int old=2023-num1; System.out.println(" 该中国居民年龄为:"+old+"岁"); } } } }
运行结果如下:
1.输入正确身份证号
2.输入错误身份证号
总结
以上就是浅显的身份证转译功能,本文仅仅简单介绍了身份证泄露被他人查户口的危险性,可能对你来说也没什么,但是说不定在某个阴暗角落的暗网,你泄露的身份证号可以查询的你更详细的隐私,毕竟,网上的人多数都在裸奔。