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

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

上記はコンパイルされず、「unexpected type.required:variable, found:value」というエラーが表示されます。 String.contains() はブール値を返す必要があるため、理由がわかりません。

4

4 に答える 4

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

する必要があります

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

=は割り当て用です

== は状態を確認するためのものです。

于 2013-03-05T06:15:41.893 に答える
0

コンパイルエラーがあります

while (news.contains(doubleSpace) = true)

する必要があります

while (news.contains(doubleSpace) == true)
于 2013-03-05T06:16:15.200 に答える
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 ループが間違っています。以下のようにしてください。割り当て値を使用して割り当てているため、そのエラーが発生しています。また、必要に応じてcontains(...)関数自体が true または false を返すため、true と比較する必要はありません。

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