任务描述
本关任务:统计给定字符串中各单词出现的次数。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,统计给定字符串中各单词出现的次数,具体要求如下:
- 接收给定的一行字符串(如:hello hi ask hi);
- 切割字符串,使用 HashMap 统计字符串中各单词出现的次数,并输出结果。
注意:字符串中各单词之间间隔一个空格。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
例: 测试输入:
study study hard
预期输出:
study-2
hard-1
注意:最后有一行空行。
开始你的任务吧,祝你成功!
// 请在Begin-End间编写代码
/********** Begin **********/
// 第一步;导入相关类
import java.util.*;
// 第二步:创建CollTest类
public class CollTest {
public static void main(String[] args) {
Scanner inupt=new Scanner(System.in);
String str=inupt.nextLine();
HashMap<String, Integer> hm=new HashMap<>(); //定义一个双列集合
String [] strs=str.split(" "); //分割成若干字符串
for (int i = 0; i < strs.length; i++) {
if (!hm.containsKey(strs[i])) { //判断每个字符串,是存在于集合里
hm.put(strs[i], 1);
}else {
Integer counts=hm.get(strs[i]);
hm.put(strs[i], counts+1); //覆盖前者的的key值,并且比前者多加一次
}
}
//获取HashMap所有的key集合并遍历
Iterator<String> it=hm.keySet().iterator();
while(it.hasNext()) {
String keyName=it.next();
System.out.println(keyName+"-"+hm.get(keyName));
}
}
}
/********** End **********/