敏感信息屏蔽(一)【java】

描述

中国的居民身份证号码长度18位,是属于公民个人的敏感信息,在系统中显示的时候需要将其中某些字符屏蔽掉,用"星号"来显示。

例如,有身份证号码:432503199902034090,屏蔽掉中间第7~12位,显示为:432503******034090

现在给定一个身份证号码,要求屏蔽掉中间的第s~t位字符,其中1≤s≤t≤18,请输出处理后的号码。

例如身份证号:43060219990515401X,s=3,t=8,应输出:43******990515401X

再比如身份证号:362204199912207217,s=5,t=11,应输出:3622****2207217

再比如身份证号:362204199912207217,s=1,t=5,应输出:*****4199912207217

格式
输入格式

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

输出格式

一行,处理后的身份证号

样例
输入样例
复制代码
320103200002160776 6 10
输出样例
复制代码
32010*****02160776
复制代码
import java.util.Scanner;
public class IDcardcode {
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        String idcard=sc.next();
        int s=sc.nextInt();
        int t=sc.nextInt();
        StringBuilder sb=new StringBuilder(idcard);
        for(int i=s-1;i<t;i++){
            sb.setCharAt(i,'*');
        }
        System.out.println(sb.toString());
        sc.close();
    }
}
相关推荐
karry_k6 小时前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k6 小时前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
vibecoding日记8 小时前
双非如何快速入职字节等大厂大模型?真实案例分析:推理优化和投机解码
算法·求职·大模型工程师
yszaygr213810 小时前
Verilog参数化游程编码RLE模块
算法
SamDeepThinking10 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
望易10 小时前
刚设计的大模型架构-双域耦合认知框架
算法·架构
她的男孩13 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
复杂网络14 小时前
多个 Claude Code 与多个 Codex 协同工作:设计与实现方案
算法
荣码14 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python