日期:2014-05-20  浏览次数:20881 次

Java过滤敏感词出现的问题
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class KeyWordFilter {
private String s7 = "";
public static void main(String[] args) throws IOException {
                   KeyWordFilter test = new KeyWordFilter();
System.out.println(test.replaceDiGui("敏感词测试:奥巴马对华政策 ? 布什? "));
}


public static String replaceString(String s){
String s3 = null;
for(int ii = 0; ii < s.length(); ii++){
s3 +="*";
}
return s3;
}


public String  replaceDiGui(String s){
String s2 = "奥巴马,布什,FUCK,SHIT";
String[] minGanCi = s2.split(",");
for (int j = 0; j < minGanCi.length; j++) {
  if(s.indexOf(minGanCi[j]) > -1){
  s7 = s.replaceAll(minGanCi[j], replaceString(minGanCi[j]));
  replaceDiGui(s7);
  break;
  } 
}
return s7;
}
}

期望的运行结果是:  敏感词测试:***对华政策 ? **? 
运行的结果怎么是:  敏感词测试:null***对华政策 ? null**?

怎么会是这个样子的 ?“null”是怎么出现的 ?  请大虾指教下。。。 

------解决方案--------------------

String s3 = null;
改成
String s3 ="";


是这样么