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”是怎么出现的 ? 请大虾指教下
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 ="";
是这样么
代码写的没问题,把编码格式改写就好了。还有你这是J2ee里的问题怎么发到Java里来了。
[code=Ja]/**把gb2312转化成ISO-8859-1*/
public static String toISO(String str){
try {
return str = new String(str.getBytes("GB2312"),"ISO-8859-1");
} catch (Exception e) {e.printStackTrace();}
return str;
}
/**把ISO-8859-1转化成gb2312*/
public static String toGB(String str){
try {
return str = new String(str.getBytes("ISO-8859-1"),"GB2312");
} catch (Exception e) {e.printStackTrace();}
return str;
}[/code]
你可以把这两段代码写在自己的工具类中,也可以直接用在程序代码中。