【发布时间】:2016-02-07 15:58:54
【问题描述】:
我正在尝试消除“已清理”字符串中所有出现的“X”,但我不断收到出站异常。我的代码有什么问题? 我需要使用 while 循环和 int loc 来消除这种情况
public static void main (String [] args)
{
String cleaned = "abcXabcXabc";
char remove= 'X';
int loc = cleaned.indexOf(remove);
System.out.println ("before: "+ cleaned);
while (loc != -1)
{
String part1= cleaned.substring(0, loc);
String part2= cleaned.substring(loc+1);
cleaned = part1+part2;
}
System.out.println ("after: " + cleaned);
}
【问题讨论】:
-
你为什么不用
replace()。 -
loc = cleaned.indexOf(remove);永远不会更新。 -
@JavaB 通过循环更新?
-
put loc = clean.indexOf(remove);循环内
-
@JavaB:你试过通过代码调试吗?如果没有那条线,除了其他任何事情之外,您如何期望循环结束?如果
loc在您第一次进入循环时不是-1,并且您没有在循环内部更改它...