练习-Java集合类之Map的HashMap之统计各单词出现的次数

目录

任务描述

编程要求

测试说明

参考答案


任务描述

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

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,在 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 input =new Scanner(System.in);
String str=input.nextLine();
// 第四步:创建HashMap集合,key为单词,value为单词个数
Map<String,Integer> hasMap=new HashMap<>();
// 第五步:切割字符串
String[] array=str.split(" ");
//第六步: 判断集合中是否有切割后的单词,有的话获取集合中单词个数,加1之后更新集合中单词个数
for(int i=0;i<array.length;i++) {
	if(!hasMap.containsKey(array[i])) {
		hasMap.put(array[i], 1);
	}
    
//第七步: 判断集合中是否有切割后的单词,没有的话给单词赋值为1,添加进集合
	else {
		Integer count=hasMap.get(array[i]);
		hasMap.put(array[i], count+1);
	}
}
//第八步: 遍历集合,输出所有元素
Iterator<String> iterator=hasMap.keySet().iterator();
while(iterator.hasNext()){
	String keyName=iterator.next();
	System.out.println(keyName+"-"+hasMap.get(keyName));
}


/********** End **********/
}
}

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值