发布网友 发布时间:2022-04-23 08:48
共6个回答
热心网友 时间:2022-06-18 14:13
import java.util.*;
public class test{
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
System.out.println("请输入18位的身份号码:");
String s="^[0-9]{17}([0-9]|x)";//正则表达式
String str=in.next();
while(!str.matches(s)){//用mathes方法匹配正则表达式,判断是否合法
System.out.println("输入错误,请重新输入:");
str=in.next();
}
System.out.println("生日:"+str.substring(6,10)+"年"+str.substring(10,12)+"月"+str.substring(12,14)+"日");
System.out.println(Integer.parseInt(str.substring(14,15))%2==0?"女":"男");
}
}
热心网友 时间:2022-06-18 14:14
当然是用substring方法,截取你需要验证的部分,至于身份证合法的验证可以分部分用正则,性别问题要先判断号码的位置追问验证身份证是否合法就卡住了,汗。。
追答楼主会用正则表达式么?
热心网友 时间:2022-06-18 14:14
vcccccccccqaa
热心网友 时间:2022-06-18 14:15
将爱归零回答的是正确的
热心网友 时间:2022-06-18 14:16
用正则表达式匹配.
热心网友 时间:2022-06-18 14:16
正则表达式。。。。