gpt4 book ai didi

Java扫描文件并打印word(具有多个实例)一次

转载 作者:行者123 更新时间:2023-12-01 12:03:29 28 4
gpt4 key购买 nike

我有一个程序可以扫描包含足球比分的文件,例如:

Leeds : 1 : Manchester City : 2
Manchester City : 3 : Chelsea : 1

我目前正在按行扫描它,然后通过 :. 分割它。但是我想创建一个团队的打印而不重复它 即

Manchester City total goals = 5
Chelsea total goals = 1
Leeds City total goals = 1

有没有办法可以做到这一点,而无需对团队名称进行硬编码。所以它只是扫描一个文件并选择团队,但仅一次。分数在这里并不重要,我只是用它们作为例子,团队名称是我想要清楚打印的。

我尝试过:

    While (file.hasNext()){
String line = file.nextLine();
String[] word = line.split(":");
System.out.println(teamname+" total goals ="+goals );
}

最佳答案

不要立即打印目标,而是将它们存储在 map 中:

private Map<String, Integer> goalCounts = new HashMap<>();

private void addGoals(String teamName, int numGoals) {
if (goalCounts.containsKey(teamName)) {
goalCounts.put(teamName, goalCounts.get(teamName) + numGoals);
}
else {
goalCounts.put(teamName, numGoals);
}
}

打印总数:

for (Map.Entry<String, Integer> teamGoalsEntry : goalCounts.entrySet()) {
System.out.println(teamGoalsEntry.getKey() + " total goals=" + teamGoalsEntry.getValue());
}

您也可以使用 AtomicInteger 来更新目标,而不是覆盖 Map 值。

关于Java扫描文件并打印word(具有多个实例)一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27844607/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com