我正在学习 Java CodeBat 练习。这是我坚持的一个:
在字符串中查找诸如“zip”和“zap”之类的模式——长度为 3,以 'z' 开头并以 'p' 结尾。返回一个字符串,其中对于所有此类单词,中间字母都消失了,因此“zipXzap”产生“zpXzp”。
这是我的代码:
public String zipZap(String str){
String s = ""; //Initialising return string
String diff = " " + str + " "; //Ensuring no out of bounds exceptions occur
for (int i = 1; i < diff.length()-1; i++) {
if (diff.charAt(i-1) != 'z' &&
diff.charAt(i+1) != 'p') {
s += diff.charAt(i);
}
}
return s;
}
这对他们中的一些人来说是成功的,但对其他人来说却不是。对于某些示例字符串,该&&
运算符似乎表现得像 a ;||
也就是说,很多我想保留的角色都没有保留。我不确定我将如何修复它。
如果您愿意,请朝正确的方向轻推!我只需要一个提示!