-3
String doubleSpace = "  ";
String news = "The cat jumped.  The dog did not.";

while (news.contains(doubleSpace) = true)
{
    news=news.replaceAll("  ", " ");
}

以上将无法编译,给出错误“意外类型。必需:变量,找到:值”我不明白为什么,因为 String.contains() 应该返回一个布尔值。

4

4 回答 4

3
while (news.contains(doubleSpace) = true)

应该

while (news.contains(doubleSpace) == true)

= 用于分配

== 用于检查条件。

于 2013-03-05T06:15:41.893 回答
0

字符串上的 .contains() 方法已经返回布尔值,因此您不应应用比较

无论如何,如果您确实应用应用布尔运算符 '==' 而不是 '='

所以你的代码可以是 while (news.contains(doubleSpace) == true)

{
    news=news.replaceAll("  ", " ");
}

或更准确地说

while (news.contains(doubleSpace))
{
    news=news.replaceAll("  ", " ");
}
于 2013-03-05T06:20:26.487 回答
0

存在编译错误

while (news.contains(doubleSpace) = true)

应该

while (news.contains(doubleSpace) == true)
于 2013-03-05T06:16:15.200 回答
0

你的while循环是错误的,如下所示。你是通过使用赋值值进行赋值的,所以你得到了那个错误。也不需要与true比较,因为contains(...)函数本身会根据你的需要返回true或false。

while (news.contains(doubleSpace))
{
    news=news.replaceAll("  ", " ");
}
于 2013-03-05T06:15:52.867 回答