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

replace的问题
str4=str3.replace(str3.charAt(j),   str2.charAt(k))

为什么str4   还是没有替换成功,不知道那里问题

------解决方案--------------------
你做的循环的话
replace的内容在变吧
debug看下
------解决方案--------------------
String 类型的声明及初始化建议改成:

String str1 = " ";
String str2 = " ";
String str3 = " ";
String str4 = " ";

str3 替换后应该放回 str3 才对,为什么要放到 str4 里面去呢?这样 str3 里面永远是不会变的,而且 str4 也是一直在变(因为在循环里面),也就是说 str4 的值是最后一次被替换的值,前面的替换等于白做。

如果要替换 str3 的话,可以改成:

str3 = str3.replace(str3.charAt(l), str2.charAt(i));

试试看。另:建议不要使用字母“l”作为变量名,容易与数字“1”产生混淆。
------解决方案--------------------
不可能吧,但是用 str4 肯定是不对的。如果是这样的话,问题可能出现在其他地方。