我想检查字符串是否包含指定的单词。如果字符串包含指定的单词,我不想打印该单词。现在可能有多余的单词,但我将只打印除预定义单词列表之外的唯一单词,例如,"traffic",“崩溃”。为此,我使用Set存储唯一的字符串,并使用if-statement和contains进行检查。但它不能正常工作。虽然我预定义的限制性单词是“流量”,但我的程序仍然打印流量以及所有的单词。筛选器/包含方法似乎不能正常工作。附言:为了避免区分大小写,我将所有的单词都转换为小写。下面是我的代码。请帮我了解一下哪里出了问题?我使用的是Java代码。
import java.util.HashSet;
import java.util.Set;
public class SetTest {
public static void main(String[] args) {
Set<String> placeSet=new HashSet<String> ();
String s1="traffic";
String s2="mumbai";
String s3="Mumbai";
String s4="roadcollapse";
placeSet.add(s1.toLowerCase());
placeSet.add(s2.toLowerCase());
placeSet.add(s3.toLowerCase());
placeSet.add(s4.toLowerCase());
for (String place:placeSet)
{
if (!place.contains("traffic") || !place.contains("collapse"))
{
System.out.println (place);
}
}
}
}
https://stackoverflow.com/questions/53023613
复制相似问题