Java 代码实现身份证号码部分字符屏蔽

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

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

输出格式: 一行,处理后的身份证号码。

示例输入:

110101199003071234
7
12

示例输出:

1101011******234

代码实现:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String idCard = scanner.nextLine();
        int s = scanner.nextInt();
        int t = scanner.nextInt();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < idCard.length(); i++) {
            if (i >= s - 1 && i <= t - 1) {
                sb.append('*');
            } else {
                sb.append(idCard.charAt(i));
            }
        }
        System.out.println(sb.toString());
    }
}

代码说明:

  1. 使用 Scanner 类读取输入的身份证号码、起始位和结束位。
  2. 使用 StringBuilder 类来构建处理后的身份证号码。
  3. 遍历身份证号码的每个字符,如果当前字符的位置在 st 之间,则将其替换为 '*',否则保留原字符。
  4. 最后输出处理后的身份证号码。

总结:

本代码使用 Java 语言实现身份证号码部分字符屏蔽功能,可以有效地保护用户的隐私信息。在实际应用中,可以根据具体需求调整屏蔽的起始位和结束位。


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

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