Java 代码实现身份证号码部分字符屏蔽
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());
}
}
代码说明:
- 使用
Scanner类读取输入的身份证号码、起始位和结束位。 - 使用
StringBuilder类来构建处理后的身份证号码。 - 遍历身份证号码的每个字符,如果当前字符的位置在
s到t之间,则将其替换为 '*',否则保留原字符。 - 最后输出处理后的身份证号码。
总结:
本代码使用 Java 语言实现身份证号码部分字符屏蔽功能,可以有效地保护用户的隐私信息。在实际应用中,可以根据具体需求调整屏蔽的起始位和结束位。
原文地址: https://www.cveoy.top/t/topic/j9XJ 著作权归作者所有。请勿转载和采集!