敏感词过滤程序编写敏感词过滤程序
前言
Java程序设计语言课程让我们2-3人一个小组,找一个能用集合解决的问题进行介绍、说明,于是我们就找到了这道题目。
一、题目要求
编写敏感词过滤程序编写敏感词过滤程序
•
输入一个字符串,将里面的敏感词替换成**。
•
说明:在网络程序中,如聊天室、聊天软件等,经常需要对一些用户所提交的聊天内容中的敏感性词语进行过滤。如“色情”“恐怖”、“枪”、“军火”等,这些都不可以在网上进行传播,需要过滤掉或者用其他词语替换掉。
二、解体思路
用一个ArrayList把事先设置好的敏感词全部存入,然后输入字符串。遍历ArrayList,将每个元素都替换为**;其中用到了for(String str :list){ }
package HelloProject;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
public class sensitiveWordFiltering {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String s = input.next();
List<String> list = new ArrayList<String>();
list.add("色情");
list.add("恐怖");
list.add("枪");
list.add("军火");
list.add("傻逼");
list.add("VPN");
list.add("卧槽");
list.add("滚");
for(String sensitiveWord:list) { //从循环中获取满足条件的值
if(sensitiveWord.length()==1) {
s = s.replaceAll(sensitiveWord, "*");
}else {
s = s.replaceAll(sensitiveWord, "**");
}
}
System.out.println("您输入的字符串为:" + s);
}
}
2.其中用到了for(String str :list){ }
该语句的作用就是把list中的每一个元素赋值给str。
相当于:
List<String> s;
for(int i=0;i<s.length();i++){
String str=s[i];
}
总结
就是很简单的一个集合应用,简单的插入,简单的遍历,简单 的替换。