设计一个敏感词过滤程序,提示用户输入一串字符,然后将敏感词替换为*号。(根据自己的技术,敏感词可以是一个字母或者一个单词甚至一个中文字词,程序只需要在运行时告诉用户敏感词是什么即可,并将字符串中的敏感词替换为*)。
import java.util.Scanner;
public class Sensitive2 {
public static void main(String[] args) {
Sensitive2 s=new Sensitive2();
//创建输入对象
Scanner in=new Scanner(System.in);
//1.输入字符串
System.out.println("请输入字符串:");
String string=in.next();
System.out.println("你输入的是:");
//2.调用敏感词汇方法,
System.out.println(s.sensitive(string));
}
/**
* @method :判断字符串是否包含指定词汇
* @param string 字符串
* @param word 敏感词汇
* @return String
*/
public String getSensitive(String string,String word ){
boolean flag=false;
//1.创建用于字符拼接对象
StringBuilder joint=new StringBuilder();
//2.循环获取每个字符
for (int i = 0; i < string.length(); i++) {
//3.获取第i个字符
char c= string.charAt(i);
//4.判断第i个字符与敏感词汇的第一个字符相等
if (c==word.charAt(0)) {
//循环判断其余的是否相等
for (int j = 0; j < word.length(); j++) {
//获取字符串的第(i+j)个字符
char ccc=string.charAt(i+j);
//获取敏感词汇
char cc=word.charAt(j);
if (c==cc) {
c='*'; //设置字符为*
flag=true; //输入了敏感词汇
}
}
}
joint.append(c); //字符拼接
}
if (flag) {
System.out.println("你输入了敏感词汇【"+word+"】请注意你的言行!!!");
}
return string=String.valueOf(joint); //返回屏蔽了敏感词汇的字符串
}
/**
* @method :设置敏感词汇
* @param :字符串
*/
public String sensitive(String string){
//1.调用方法设置屏蔽敏感词汇
string=getSensitive(string,"傻逼");
string=getSensitive(string,"SB");
string=getSensitive(string,"sb");
string=getSensitive(string,"sB");
string=getSensitive(string,"Sb");
string=getSensitive(string,"垃圾");
string=getSensitive(string,"死垃圾");
return string; //返回屏蔽了敏感词汇的字符串
}
}