帮我用java写一个身份证校验的程序
时间: 2023-12-05 11:05:07 浏览: 73
好的,我可以帮你写一个身份证校验的程序,以下是代码示例:
```java
import java.util.Scanner;
public class IdCardValidation {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入身份证号码:");
String idCard = input.nextLine();
boolean isValid = isValidIdCard(idCard);
if (isValid) {
System.out.println("身份证号码有效。");
} else {
System.out.println("身份证号码无效。");
}
}
public static boolean isValidIdCard(String idCard) {
if (idCard == null || idCard.length() != 18) {
return false;
}
char[] chars = idCard.toCharArray();
int sum = 0;
for (int i = 0; i < chars.length - 1; i++) {
if (!Character.isDigit(chars[i])) {
return false;
}
sum += (chars[i] - '0') * (Math.pow(2, 17 - i) % 11);
}
char checkCode = chars[17];
int remainder = sum % 11;
String checkCodes = "10X98765432";
return checkCode == checkCodes.charAt(remainder);
}
}
```
这段程序可以判断一个身份证号码是否有效。当用户输入一个身份证号码后,程序将会输出该身份证号码是否有效。其中 isValidIdCard(String idCard) 方法用来验证身份证号码的有效性。
阅读全文