• 18位身份证验证(Java)


    我的代码:

    package day20181016;
    /**
    * 身份证的验证 34052419800101001X
    *
    */
    import java.util.Scanner;
    public class ZuoYe04 {
    public static void main(String[] args) {
    Scanner input=new Scanner(System.in);
    int[]numArray={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
    System.out.println("请输入身份证号:");
    String card=input.next();
    int sum=0;
    for(int i=0;i<numArray.length;i++){
    int cardNum=card.charAt(i)-'0';
    sum+=cardNum*numArray[i];
    }
    System.out.println("前17位系数相乘和为:"+sum);
    //身份证18位的字符数组
    char[]codeArray={ '1','0','X','9','8','7','6','5','4','3','2'};
    int index=sum%11;//数组的下标
    //将计算出来的第18位字符与身份证的第18位对比
    if(codeArray[index]==card.charAt(17)){
    System.out.println(card+"身份证合法");
    }else{
    System.out.println(card+"身份证非法");
    }
    }
    }

  • 相关阅读:
    Go语言基础--1.1 变量的声明
    基本语法
    弹性盒子修改
    弹性盒子内容
    弹性盒子
    响应式列重置
    栅格系统
    布局容器
    额外按钮
    可消失的弹出框
  • 原文地址:https://www.cnblogs.com/SUN99bk/p/9821769.html
Copyright © 2020-2023  润新知