String doubleSpace = " ";
String news = "The cat jumped. The dog did not.";
while (news.contains(doubleSpace) = true)
{
news=news.replaceAll(" ", " ");
}
以上将无法编译,给出错误“意外类型。必需:变量,找到:值”我不明白为什么,因为 String.contains() 应该返回一个布尔值。
while (news.contains(doubleSpace) = true)
应该
while (news.contains(doubleSpace) == true)
= 用于分配
== 用于检查条件。
字符串上的 .contains() 方法已经返回布尔值,因此您不应应用比较
无论如何,如果您确实应用应用布尔运算符 '==' 而不是 '='
所以你的代码可以是 while (news.contains(doubleSpace) == true)
{
news=news.replaceAll(" ", " ");
}
或更准确地说
while (news.contains(doubleSpace))
{
news=news.replaceAll(" ", " ");
}
存在编译错误
while (news.contains(doubleSpace) = true)
应该
while (news.contains(doubleSpace) == true)
你的while循环是错误的,如下所示。你是通过使用赋值值进行赋值的,所以你得到了那个错误。也不需要与true比较,因为contains(...)
函数本身会根据你的需要返回true或false。
while (news.contains(doubleSpace))
{
news=news.replaceAll(" ", " ");
}