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();
while(true){
System.out.println("请再输入一次身份证号:");
card=input.next();
if(card.length()!=18){
System.out.println("您输入的身份证号有误,请重新输入");
System.out.println("是否继续(Y/N)");
String YN=input.next();
if(YN.equals("Y")){
System.out.println("欢迎继续使用!");
continue;
}
if(YN.equals("N")){
System.out.println("感谢您的使用!");
break;
}else{
System.out.println("您的输入有误,请重新输入");
}
}else{
break;
}
}
      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+"身份证非法");
      }
    }
}

  

18位身份证验证(Java)加入身份证输入验证是否满足18位代码(修订稿)的更多相关文章

  1. sencha touch Model validations 自定义验证 二选一输入验证、重复验证、时间验证、比较验证、条件验证(2015-1-14)

    项目初始化时执行以下代码 //重写模型,方便进行自定义验证 Ext.define("Ext.zh.data.Model", { override: "Ext.data.M ...

  2. Struts2入门(四)——数据输入验证

    一.前言 1.1.什么是输入验证?为什么需要输入验证? 在上一篇文章中,我们学习了数据类型转换,我们提到了表示层数据处理的两个方法,也提到了用户输入数据需要进行类型转换才能得到我们想要的数据,那么,我 ...

  3. struts2的validate输入验证

    原创 struts2的输入验证有两种方式: 使用validate()方法实现验证 使用验证文件实现验证 下面通过一个例子介绍validate()方法验证——实现客户注册输入验证 设计的JSP页面代码: ...

  4. javascript设计模式实践之策略模式--输入验证

    策略模式中的策略就是一种算法或者业务规则,将这些策略作为函数进行封装,并向外提供统一的调用执行. 先定义一个简单的输入表单: <!DOCTYPE html> <html> &l ...

  5. formValidator输入验证、异步验证实例 + licenseImage验证码插件实例应用

    实例技术:springmvc 实现功能:完整用户登录流程.输入信息规则校验.验证码异步校验. 功能清单: 1.springmvc控制器处理get请求(/member/login.html),进行静态页 ...

  6. java 实现从15位~18位的身份证号码转换,校验中国大陆公民身份证、香港居民身份证、澳门身份证和台湾身份证。

    package xidian.sl.netcredit.util; /** * Copyright (C) 2009-2010 Yichuan, Fuchun All rights reserved. ...

  7. java对身份证验证及正则表达式解析

    原文地址:http://www.cnblogs.com/zhongshengzhen/ java对身份证验证及正则表达式解析 package service; import java.text.Par ...

  8. 【Java】身份证号码验证

    代码引用自:https://gitee.com/appleat/codes/ynrtqujv0wfgesm8ia9b547 package xxx; /** * Created by wdj on 2 ...

  9. Java实现身份证号码验证源码分享

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

随机推荐

  1. python os.path模块常用方法详解

    os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法.更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.ht ...

  2. 用python.twisted.logfile每天记录日志,并用不记录stdout中的内容

    #导入的头 from twisted.python import logfrom twisted.python.logfile import * #开始记录,输入日志名和存放的路径,setStdout ...

  3. mybatis3 date 的处理

    <if test="startTime!=null and startTime!=''"> <![CDATA[ and DATE_FORMAT(create_ti ...

  4. Unity shader学习之Alpha Blend

    通过 ShaderLab 的 AlphaBlend 能够实现真正的半透明效果. 使用 AlphaBlend 时,需要关闭深度写入 ZWrite Off,但得非常小心物体的渲染顺序, RenderQue ...

  5. css 渐变动画

    就是这样 这是一段可选文字 -------------------------------------- 代码如下 CSS代码: @media all and (-webkit-min-device- ...

  6. 谷歌Cookies无法写入

    写Cookies页面加这个ok: Response.AddHeader("P3P", "CP=CAO PSA OUR");

  7. E. Kefa and Watch hash 线段树

    2015-09-28 14:11:36 by opas 这题给的是一个字符串 把其中一些子串给取出来 判断是否是周期为d的字符串  还需要把 其中的一个区间完全变成一个数 ,然后在查询,我们把每个字符 ...

  8. hdu5125 树状数组+dp

     hdu5125 他说的是n个人每个人都有两个气球a,b,气球各自都有相应的体积,现在让他们按照序号排列好来,对他们的a气球体积值计算最长上升子序列,对于这整个排列来说有m次机会让你将a气球替换成b气 ...

  9. modelform的简介

    Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...

  10. 输入输出无依赖型函数的GroovySpock单测模板的自动生成工具(上)

    目标 在<使用Groovy+Spock轻松写出更简洁的单测> 一文中,讲解了如何使用 Groovy + Spock 写出简洁易懂的单测. 对于相对简单的无外部服务依赖型函数,通常可以使用 ...