Java基础—消除敏感字并替换逻辑

简介: 在日常使用聊天软件或游戏交流时,当出现不文明词语会被”和谐“,那么这个逻辑是怎么实现的呢?本文展示如何用Java实现敏感字过滤并替换的逻辑代码。

Java代码

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class HeXieWenZi {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        List<String> list=new ArrayList<>();
        list.add("血腥");
        list.add("暴力");

        List<WenZi> list1=new ArrayList<>();
        for (int i=0;i<list.size();i++){
            WenZi wenZi=new WenZi();
            wenZi.setWenZi(list.get(i));
            wenZi.setIndex(list.get(i).length());
            list1.add(wenZi);
        }
        System.out.println("请输入你要执行的语句");
        String next = scanner.next();

        if(list.size()!=0){
            char[] c=next.toCharArray();
            for (int k=0;k<next.length();k++){
                for (int h=0;h<list1.size();h++){
                    char[] f=list1.get(h).getWenZi().toCharArray();
                    if (f[0]==(c[k])){
                        int index=0;
                        int start=k;
                        for (int j=0;j<list1.get(h).getIndex();j++){
                            if (c[start]==f[j]){
                                index++;
                                start++;
                            }
                        }
                        if (index==list1.get(h).getIndex()){
                            for (int l=0;l<list1.get(h).getIndex();l++){
                                c[k+l]='*';
                            }
                            k+=list1.get(h).getIndex()-1;
                        }
                    }
                }
            }
            System.out.println(c);
        }else {
            System.out.println(next);
        }
    }
}
class WenZi{

    public String getWenZi() {
        return wenZi;
    }

    public void setWenZi(String wenZi) {
        this.wenZi = wenZi;
    }

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }

    private String wenZi;
    private int index;
}
目录
相关文章
|
Java
【思维导图】JAVA网络编程思维升级:URL与URLConnection的逻辑梳理,助你一臂之力!
【思维导图】JAVA网络编程思维升级:URL与URLConnection的逻辑梳理,助你一臂之力!
239 1
|
搜索推荐 Java 索引
java实现快速排序(详细解释代码和逻辑)
java实现快速排序(详细解释代码和逻辑)
|
SQL IDE 算法
《从头开始学java,一天一个知识点》之:运算符与表达式:算术、比较和逻辑运算
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列为你打造Java「速效救心丸」,每天1分钟,地铁通勤、午休间隙即可完成学习。直击高频考点和实际开发中的「坑位」,拒绝冗长概念,每篇都有可运行的代码示例。明日预告:《控制流程:if-else条件语句实战》。
293 6
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
468 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
设计模式 Java
结合HashMap与Java 8的Function和Optional消除ifelse判断
`shigen`是一位致力于记录成长、分享认知和留住感动的博客作者。本文通过具体代码示例探讨了如何优化业务代码中的if-else结构。首先展示了一个典型的if-else处理方法,并指出其弊端;然后引入了策略模式和工厂方法等优化方案,最终利用Java 8的Function和Optional特性简化代码。此外,还提到了其他几种消除if-else的方法,如switch-case、枚举行、SpringBoot的IOC等。一起跟随shigen的脚步,让每一天都有所不同!
187 10
结合HashMap与Java 8的Function和Optional消除ifelse判断
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)