Java身份证号码脱敏处理 - 屏蔽中间字符

中国的居民身份证号码长度为18位,是属于公民个人的敏感信息,在系统中显示的时候需要将其中某些字符屏蔽掉,用'*'来显示。现在给定一个身份证号码,要求屏蔽掉中间的第s~t位字符,其中1≤s≤t≤18,请输出处理后的号码。

输入格式:

一行,三个输入项,第一个是身份证号;第二个是整数s,表示屏蔽的起始位;第三个是整数t,表示屏蔽的结束位

输出格式:

一行,处理后的身份证号码

示例输入:

110101199003074877 7 12

示例输出:

1101011******4877

解释:

将第7~12位替换为'*'。

Java代码实现:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String id = sc.next();
        int s = sc.nextInt();
        int t = sc.nextInt();
        StringBuilder sb = new StringBuilder(id);
        for (int i = s - 1; i < t; i++) {
            sb.setCharAt(i, '*');
        }
        System.out.println(sb.toString());
    }
}

代码说明:

  1. 使用Scanner类读取输入的身份证号码、起始位和结束位。
  2. 使用StringBuilder类将身份证号码转换为可修改的字符串。
  3. 循环遍历从起始位到结束位之间的字符,将每个字符替换为'*'。
  4. 最后将修改后的字符串输出。

原文地址: https://www.cveoy.top/t/topic/jqZG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录