• 2017去哪儿网---身份证分组


    题目描述

    18位身份证的编码规则是:
    前1、2位数字表示:所在省(直辖市、自治区)的代码
    第3、4位数字表示:所在地级市(自治州)的代码
    第5、6位数字表示:所在区(县、自治县、县级市)的代码;
    第7—14位数字表示:出生年、月、日;
    第15、16位数字表示:所在地的派出所的代码;
    第17位数字表示性别:奇数表示男性,偶数表示女性;
    第18位数字是校检码,用来检验身份证的正确性。
    用户在输入身份证的过程中经常会输入错误,为了方便用户正确输入需要在输入过程中对用户的输入按照 6+8+4 的格式进行分组,实现一个方法接收输入过程中的身份证号,返回分组后的字符

    输入描述:

    输入数据有多行,每一行是一个输入过程中的身份证号

    输出描述:

    分组后的字符串
    示例1

    输入

    5021
    502104 198803
    5021041988033084
    502104198803308324
    

    输出

    5021
    502104 198803
    502104 19880330 84
    502104 19880330 8324

    题目链接:https://www.nowcoder.com/practice/58766632a6cc45c0a1158fea2db91728?tpId=85&tqId=29888&tPage=1&rp=1&ru=/ta/2017test&qru=/ta/2017test/question-ranking

    题解:基本也就是分割字符串,重点是要熟悉java封装的一些很方便的函数,这样可以直接调用,不用自己造轮子。代码如下:
     1 package 身份证分组;
     2 
     3 import java.io.BufferedReader;
     4 import java.io.IOException;
     5 import java.io.InputStreamReader;
     6 
     7 public class Main {
     8 
     9     public static void main(String[] args) throws IOException {
    10         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    11         String line = null;
    12         while((line = in.readLine()) != null) {
    13             //剔除输入的空格
    14             String s = line.replaceAll(" ", "");
    15             //将字符串转为字符数组
    16             char[] num = s.toCharArray();
    17             if(num.length <= 6) {
    18                 //将字符数组转为字符串输出
    19                 System.out.println(String.valueOf(num));
    20             }
    21             else if(num.length <= 14) {
    22                 //copyValueOf(要转的字符数组,偏移量,要转的字符的个数)
    23                 System.out.println(String.copyValueOf(num, 0, 6) + " " + String.copyValueOf(num, 6, num.length - 6));
    24             }
    25             else {
    26                 System.out.println(String.copyValueOf(num, 0, 6) + " " + String.copyValueOf(num, 6, 8) + " " + String.copyValueOf(num, 14, num.length - 14));
    27             }
    28         }
    29     }
    30 }
    View Code
  • 相关阅读:
    转载【Ubuntu】Ubuntu14.04虚拟机调整窗口大小自适应VMware14窗口
    【ubuntu】安装输入法
    【虚拟机ubuntu】安装之后安装VMware tools
    【虚拟机ubuntu设置ssh】ssh连不上问题解决方法
    JavaScript常用函数
    Label自适应高度
    xcode 删除文件后编译会出现*** is missing from working copy
    找window的三种方法
    怎么查看Mac电脑的开机记录?
    iOS 跳转到系统的设置界面
  • 原文地址:https://www.cnblogs.com/cing/p/8034084.html
Copyright © 2020-2023  润新知