zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    HDU 1114 Piggy-Bank
    HDU 2955 Robberies
    NTOJ 290 动物统计(加强版)
    POJ 3624 Charm Bracelet
    HDU 2602 Bone Collector
    POJ 1523 SPF(无向图割顶)
    HDU 5311 Hidden String
    HDU 1421 搬寝室
    HDU 1058 Humble Numbers
    POJ 3259 Wormholes(spfa判负环)
  • 原文地址:https://www.cnblogs.com/cing/p/8034084.html
Copyright © 2011-2022 走看看