HashMap统计各单词出现的次数

本博客介绍了使用Java统计给定字符串中各单词出现次数的任务。需接收一行字符串,用HashMap统计单词出现次数并输出结果。代码中导入相关类,创建CollTest类,通过分割字符串、判断单词是否存在于集合等操作完成统计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务描述

本关任务:统计给定字符串中各单词出现的次数。

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 间编写程序代码,统计给定字符串中各单词出现的次数,具体要求如下:

  • 接收给定的一行字符串(如:hello hi ask hi);
  • 切割字符串,使用 HashMap 统计字符串中各单词出现的次数,并输出结果。

注意:字符串中各单词之间间隔一个空格。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。

例: 测试输入:


  1. study study hard

预期输出:


  1. study-2
  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 **********/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值