18為身份證號碼的第17位數(shù)字表示性別:奇數(shù)表示男性,偶數(shù)表示女性
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供沁水網(wǎng)站建設(shè)、沁水做網(wǎng)站、沁水網(wǎng)站設(shè)計、沁水網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、沁水企業(yè)網(wǎng)站模板建站服務(wù),十多年沁水做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
所有代碼中,只要截取出第17位的數(shù)字出來就可以判斷性別,如:
String sex;
// 判斷性別
if (Integer.parseInt(CardCode.substring(16).substring(0, 1)) % 2 == 0) {
sex = "女";
} else {
sex = "男";
}
import java.util.*;
public class Identity{
public static void main(String args[]){
Scanner s=new Scanner(System.in);
System.out.print("請輸入你的身份證號碼(必須為數(shù)字或x):");
String l=s.nextLine();
if(l=="")
{
System.out.print("身份證號碼不能為空!");
}
else if(l.length()19l.length()17)
{
System.out.print("你輸入的18為身份證號碼為:"+l);
}
else
{
System.out.print("你輸入的身份證位數(shù)不正確!");
}
}
}
上面代碼,可以運行成功,功能:1、判斷是否有輸入;2、只有輸入18為號碼才提示輸入正確的信息,否則提示輸入有誤。沒有加注釋,希望對你有幫助,有問題請追加哦。
給你抽了個方法!只做了最基本的校驗
/**
*
@param
cardNum
身份證號
*/
public
void
getBornDate(String
cardNum)
{
//做最基礎(chǔ)的校驗,正則校驗略去
if(cardNum==null||cardNum.length()!=18)
{
System.out.println("您輸入的證件號不合法");
return;
}
cardNum
=
cardNum.substring(6,14);
System.out.println(cardNum.substring(0,4)+"年"+cardNum.substring(4,6)+"月"+cardNum.substring(6)+"日");
}
import?java.util.*;
public?class?Yugi{
public?static?void?main(String[]?args){
Scanner?scan?=?new?Scanner(System.in);
System.out.println("輸入身份證號碼:?");
String?code?=?scan.nextLine().trim();
scan.close();
String?reg?=?"^(.{6})(.{4})(.{2}).*$";
String?a?=?code.replaceAll(reg,?"$1");
String?y?=?code.replaceAll(reg,?"$2");
String?m?=?code.replaceAll(reg,?"$3");
System.out.println("所在地區(qū)代碼:"?+?a);
System.out.println("出生年月:?"?+?y?+?",?"?+?m);
}
}