日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通过身份证号查出所在籍贯以及性别。

發布時間:2024/8/1 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过身份证号查出所在籍贯以及性别。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

不想打字了看代碼吧。一個朋友發的,但是比較有用吧,文件中錄入的身份證地址的可能有些出入,極少數。

import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Properties; import java.util.Scanner; import java.util.Set;public class IDCardFactory {public static void main(String[] args) {Properties prop = new Properties();InputStream in = IDCardFactory.class.getResourceAsStream("city.properties");try {prop.load(in);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}validateIdcard(prop);}private static void validateIdcard(Properties prop) {// TODO Auto-generated method stubString idcard = new Scanner(System.in).nextLine().trim();char[] chs = idcard.toCharArray();int[] ins = new int[18];for (int i = 0; i < chs.length - 1; i++) {ins[i]= Integer.parseInt(String.valueOf(chs[i]));}int[] invali = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};int sum=0;for (int i = 0; i < ins.length-1; i++) {sum += ins[i] * invali[i];}int endint = sum % 11;String[] model ={"1","0","X","9","8","7","6","5","4","3","2"};String endstr = model[endint];String inendstr = String.valueOf(chs[chs.length-1]);if(!endstr.equals(inendstr)){System.out.println("身份證號碼輸入非法!");return;}String sex="男";if(ins[ins.length-2] % 2 == 0){sex = "女";}System.out.println("身份證號碼:"+idcard+",籍貫:"+prop.getProperty(idcard.substring(0, 6))+",性別:"+sex);}private static void creatIdCard(Properties prop) {Set<Object> keys= prop.keySet();double ran = Math.random();long index = Math.round(ran * 3146); long starttime = -639129600000L;long dtcl = Math.round( ran * 1564617600000L);SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");String birthday = format.format(new Date(starttime + dtcl));String [] strs = {"0","1","2","3","4","5","6","7","8","9"};String sign="";for (int i = 0; i < 3; i++) {sign += strs[(int)Math.round(Math.random() * 8)];}Object[] keyArr = keys.toArray();String key = keyArr[(int)index].toString();String value = prop.getProperty(key);createIDNum(key,value,birthday,sign);}private static void createIDNum(String key,String value,String birthday,String sign) {char[] chs = (key+birthday+sign).toCharArray();int[] ins = new int[17];for (int i = 0; i < chs.length; i++) {ins[i]= Integer.parseInt(String.valueOf(chs[i]));}int[] invali = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};int sum=0;for (int i = 0; i < ins.length; i++) {sum += ins[i] * invali[i];}int endint = sum % 11;String[] model ={"1","0","X","9","8","7","6","5","4","3","2"};String endstr = model[endint];String idcardnum = key+birthday+sign+endstr;String sex="男";if(Integer.parseInt(sign) % 2 == 0){sex = "女";}System.out.println("身份證號碼:"+idcardnum+",籍貫:"+value+",性別:"+sex);}}

這個是從鍵盤錄入進行判斷的。
.properties文件…在網盤里拿吧。
獲取properties文件內容,不知道請自行百度。

提取碼: aby1

總結

以上是生活随笔為你收集整理的通过身份证号查出所在籍贯以及性别。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。