import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class Testage {
/**
* @param args
*/
Map <Integer,String>map = new HashMap<Integer,String>();
private static void printCmd(){
System.out.println("******************************");
System.out.println("请输入13位身份证号,例:");
System.out.println("610618199001020065");
System.out.println("0 退出");
System.out.println("******************************");
}
public Testage(){
map.put(11,"北京市");map.put(12,"天津市");map.put(13,"河北省");map.put(14,"山西省");map.put(15,"内蒙古自治区");
map.put(21,"辽宁省");map.put(22,"吉林省");map.put(23,"黑龙江省");map.put(31,"上海市");map.put(32,"江苏省");
map.put(33,"浙江省");map.put(34,"安徽省");map.put(35,"福建省");map.put(36,"江西省");map.put(37,"山东省");
map.put(41,"河南省");map.put(42,"湖北省");map.put(43,"湖南省");map.put(44,"广东省");map.put(45,"广西壮族自治区");
map.put(46,"海南省");map.put(50,"重庆市");map.put(51,"四川省");map.put(52,"贵州省");map.put(53,"云南省");
map.put(54,"西藏自治区");map.put(61,"陕西省");map.put(62,"甘肃省");map.put(63,"青海省");map.put(64,"宁夏回族自治区");
map.put(65,"新疆维吾尔自治区");map.put(71,"台湾省");map.put(81,"香港特别行政区");map.put(82,"澳门特别行政区");
}
private void analyzeCmd(String line){
line = line.trim();
if("".equals(line)){
}
String[] cmds = line.split(" ");
assignCmd(cmds);
}
private void assignCmd(String[] cmds){
String cmd = cmds[0];
Calendar a=Calendar.getInstance();
String cmd1 = ""+a.get(Calendar.YEAR);
cmd1 = cmd1.trim();
int len=cmd.length();
if(len==18){
cmd = cmd.trim();
String cm=cmd.substring(6,10);
int cm1=Integer.parseInt(cmd.substring(10,12));
int cm2=Integer.parseInt(cmd.substring(12,14));
int cm3=Integer.parseInt(cmd.substring(16,17));
int cm4=Integer.parseInt(cmd.substring(0,2));
String num =cm.replaceAll("\\D+", "");
int min1 =Integer.parseInt(num);
int min2 =Integer.parseInt(cmd1);
int result =min2-min1;
Iterator<Integer> it = map.keySet().iterator();
List<Integer> keyList = new ArrayList<Integer>();
System.out.println("-----------------------------------");
while(it.hasNext()){
keyList.add(it.next());
}
if(result<0||result>100){//校验年龄
System.out.println("您输入的身份证号不合法,请重新输入!"+"\r\n");
}else if(cm1>12||cm1<1){//校验出生月份
System.out.println("您输入的身份证号不合法,请重新输入!"+"\r\n");
}else if(cm2>31||cm1<1){//校验出生日期
System.out.println("您输入的身份证号不合法,请重新输入!"+"\r\n");
}else if(cm1==02&&cm2>28){//校验不合法的月份
System.out.println("您输入的身份证号不合法,请重新输入!"+"\r\n");
}else if(!keyList.contains(cm4)){//校验出生省份
System.out.println("你是从火星上来的,来自星星的你!"+"\r\n");
}
else {
if(cm3%2==0){
if(result<30){
System.out.println("您是一个漂亮的女生!");
}
else if(30<=result&&result<50){
System.out.println("您是一位成熟的女性!");
}else{
System.out.println("您是一位慈祥的奶奶!");
}
}else{
if(result<30){
System.out.println("您是一个帅气的小伙!");
}
else if(30<=result&&result<50){
System.out.println("您是一位成熟的男士!");
}else{
System.out.println("您是一位硬朗的爷爷!");
}
}
String home=map.get(cm4);
System.out.println("您的出生地是:"+home);
System.out.println("您的年龄是:"+result+"岁");
System.out.println("您的出生日期是:"+cm+"年"+cm1+"月"+cm2+"日"+"\r\n");
}
}else{
System.out.println("请问您是中国人么?");
}
}
public static void main(String[] args) throws Exception {
new Testage();
BufferedReader reader = null;
String cmd = null;
try {
reader = new BufferedReader(new InputStreamReader(System.in));
while(true){
printCmd();
cmd = reader.readLine();
Testage t = new Testage();
if("0".equals(cmd.trim())){
System.out.println("程序已退出!");
break;
}
t.analyzeCmd(cmd);}
} catch (IOException e) {
e.printStackTrace();
}finally{
if(reader != null){
reader.close();
}
}
}
}
通过输入身份证号验证个人信息
最新推荐文章于 2023-06-29 20:30:30 发布