Java身份证号码脱敏处理 - 屏蔽中间字符
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());
}
}
代码说明:
- 使用
Scanner类读取输入的身份证号码、起始位和结束位。 - 使用
StringBuilder类将身份证号码转换为可修改的字符串。 - 循环遍历从起始位到结束位之间的字符,将每个字符替换为'*'。
- 最后将修改后的字符串输出。
原文地址: https://www.cveoy.top/t/topic/jqZG 著作权归作者所有。请勿转载和采集!