创建CardUtil工具类
public class CardUtil {
/**
* 验证身份证真假
* @param carNumber 身份证号
* @return boolean*/
public static boolean isCard(String carNumber) {
//判断输入身份证号长度是否合法
if (carNumber.length() != 18) {
throw new RuntimeException("身份证长度不合法");//不合法 抛出一个异常
}
//校验身份证真假
int sum = 0;
int[] weight = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};//将加权因子定义为数组
//遍历weight数组 求身份证前17项系数和
for (int i = 0; i < weight.length; i++) {
int n = carNumber.charAt(i) - 48;//获取 身份证对应数
int w = weight[i];
sum += w * n;
}
//对11求余
int index = sum % 11;
//校验码
String m = "10X98765432";
//获取身份证最后一位进行比对
return m.charAt(index) == carNumber.charAt(17);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类