首页 > 解决方案 > 尝试使用 String.join 打印,但它不起作用

问题描述

我正在尝试从下面的代码中打印这些键。当我使用 String.join 时,它不会将它们以逗号和空格分隔,而是作为一个单词打印。不知道我做错了什么。

String[] words = scanner.nextLine().toLowerCase().split(" ");

LinkedHashMap<String, Integer> count = new LinkedHashMap<>();


for (int i = 0; i < words.length; i++) {

    Integer occurrences = count.get(words[i]);
    if (occurrences == null) {
        occurrences = 0;
    }
    count.put(words[i], occurrences + 1);
}
for (Map.Entry<String, Integer> entry : count.entrySet()) {
    if (entry.getValue() % 2 != 0) {
        System.out.print(String.join(", ", entry.getKey()));
    }
}

} }

标签: javastring

解决方案


代码中的String.join方法是为每个单词单独执行的。您需要先收集所有单词(例如在 a 中ArrayList),然后再执行Strin.join(", ", <your list object>)


推荐阅读