我试图在HashMap中存储不同的单词并计算它出现的时间。以下是我提出的代码。但是,IDE抱怨对于行msi1.put(s, i == null ? i = 1 : i += 1);
,它期望变量但是得到一个值。它没有提供任何其他信息。有人可以帮我一把吗?在此先感谢您的帮助!
Map<String, Integer> msi1 = new HashMap<>();
List<String> ls1 = new ArrayList<>(Arrays.asList("hello", "world", "america", "world"));
for(String s : ls1){
Integer i = msi1.get(s);
msi1.put(s, i == null ? i = 1 : i += 1);
}
System.out.println(msi1.size() + "distinct words");
System.out.println(msi1);
答案 0 :(得分:0)
您不能将语句放在三元表达式中,只能表达式。您可能想要使用它:
msi1.put(s, i == null ? 1 : i + 1);