【发布时间】:2015-06-03 14:15:32
【问题描述】:
我正在学习 Java 的 CodingBat 练习。我已经到this problem 询问:
给定一个字符串,返回一个所有
"x"已被删除的版本。除了开头或结尾的"x"之外,不应删除。
我想通过检查字符串的倒数第二个字符来解决这个问题。如果字符为x,则将其替换为空字符。这是我的代码:
public String stringX(String str) {
String newStr = "";
for (int i = 1; i < str.length()-1; i++) {
if (str.indexOf('x') == i) {
newStr += str.replace('x', '\u0000');
}
}
return newStr;
}
这样做的结果是它似乎没有返回任何传入的字符串,如果字符串以x开头:
System.out.println(test.stringX("xxHxix"));
返回(空白)
System.out.println(test.stringX("abxxxcd"));
返回abcd
System.out.println(test.stringX("xabxxxcdx"));
返回(空白)
我真的不知道发生了什么,但我希望在查看答案之前能够理解它。
将char 连接到string 是否有问题?我应该改用substring 吗?
【问题讨论】: