身份证号码属于敏感信息这里就不做效果展示了,直接代码走起。
Inputid类
import java.util.Scanner;
public class InputId {
public static void main(String[] args) {
String regex = "[1-9][0-9]{16}[a-zA-Z0-9]{1}";//正则表达式判断输入是否合法
try (Scanner input = new Scanner(System.in)) {
String number1 = "";
String number2 = "";
//用while循环输入对的数据
while (true) {
System.out.println("请输入第一个身份证:");
number1 = input.next();
if (number1.matches(regex)) {
break;
} else {
System.out.println("身份证输入错误");
}
}
while (true) {
System.out.println("请输入第二个身份证:");
number2 = input.next();
if (number2.matches(regex)) {
break;
} else {
System.out.println("身份证输入错误");
}
}
//判断两个身份证号码是否相同
if (number1.equals(number2)) {
System.out.println("两个身份证号码相同");
} else {
System.out.println("两个身份证号码不同");
}
System.out.println(number1);
function.sex(number1);
function.age(number1);
System.out.print("籍贯为:");
function.origin(number1);
System.out.println(number2);
function.sex(number2);
function.age(number2);
System.out.print("籍贯为:");
function.origin(number2);
}
}
}
function类
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
public class function {
//判断性别
public static void sex(String number) {
char c = number.charAt(number.length() - 2);
if (c % 2 == 1) {
System.out.println("性别为男");
} else {
System.out.println("性别为女");
}
}
//输出出生日期与年龄
public static void age(String number) {
String year;
String yue;
String day;
String rq;
year =number.substring(6).substring(0, 4);
yue = number.substring(10).substring(0, 2);
day = number.substring(12).substring(0,2);
System.out.println("出生年月为:"+year+"年"+yue+"月"+day+"日");
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMdd");
rq=number.substring(6,14);
LocalDate date1 = LocalDate.parse(rq,dtf);
LocalDate date = LocalDate.now();
long lag=date1.until(date,ChronoUnit.DAYS);
int age=(int) (lag/365);
System.out.println("年龄为:" + age+"岁");
}
//判断来自哪个省份
public static void origin(String number) {
int shengfen;
String s;
s = number.substring(0, 2);
shengfen = Integer.parseInt(s);
switch (shengfen) {
case 11:
System.out.println("北京市");
break;
case 12:
System.out.println("天津市");
break;
case 13:
System.out.println("河北省");
break;
case 14:
System.out.println("山西省");
break;
case 15:
System.out.println("内蒙古自治区");
break;
case 21:
System.out.println("辽宁省");
break;
case 22:
System.out.println("吉林省");
break;
case 23:
System.out.println("黑龙江省");
break;
case 32:
System.out.println("上海市");
break;
case 33:
System.out.println(" 江苏省");
break;
case 34:
System.out.println("浙江省");
break;
case 35:
System.out.println("安徽省");
break;
case 36:
System.out.println("福建省");
break;
case 37:
System.out.println(" 江西省");
break;
case 41:
System.out.println("山东省");
break;
case 42:
System.out.println(" 河南省");
break;
case 43:
System.out.println("湖北省");
break;
case 44:
System.out.println("广东省");
break;
case 45:
System.out.println(" 广西壮族自治区");
break;
case 46:
System.out.println("海南省");
break;
case 50:
System.out.println("重庆市");
break;
case 51:
System.out.println("四川省");
break;
case 52:
System.out.println("贵州省");
break;
case 53:
System.out.println("云南省");
break;
case 54:
System.out.println(" 西藏自治区");
break;
case 61:
System.out.println("陕西省");
break;
case 62:
System.out.println("甘肃省");
break;
case 63:
System.out.println("青海省");
break;
case 64:
System.out.println("宁夏回族自治区");
break;
case 65:
System.out.println("新疆维吾尔自治区");
break;
case 71:
System.out.println("台湾省");
break;
case 81:
System.out.println("香港特别行政区");
break;
case 82:
System.out.println("澳门特别行政区");
break;
default:
System.out.println("未查到籍贯");
}
}
}