import java.util.Scanner; public class Test { public static void main(String[] args) { System.out.println("请输入身份证号:"); String s = new Scanner(System.in).next(); System.out.println(isLegal(s)); } public static boolean isLegal(String s){ if(s.length()!=18){ return false; } for(int i = 0;i<17;i++){ if('9'<s.charAt(i)||s.charAt(i)<'0'||s.charAt(0)=='0'){ return false; } } if('9'<s.charAt(17)&&!s.endsWith("x")&&!s.endsWith("X")||s.charAt(17)<'0'){ return false; } return true; } } 输出: 请输入身份证号: 36242720001220721x true