加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java统计英文句子中出现次数最多的单词并计算出现次数的方法

发布时间:2020-12-14 20:09:21 所属栏目:Java 来源:网络整理
导读:本篇章节讲解Java统计英文句子中出现次数最多的单词并计算出现次数的方法。供大家参考研究具体如下: import java.util.*;/** * 统计出现次数最多的单词和它出现的次数 * * @author ZHR */public class CountWord { public static String[] strTos

本篇章节讲解Java统计英文句子中出现次数最多的单词并计算出现次数的方法。分享给大家供大家参考,具体如下:

import java.util.*;
/**
 * 统计出现次数最多的单词和它出现的次数
 * 
 * @author ZHR
 */
public class CountWord {
  public static String[] strTostrArray(String str) {
    /*
     * 将非字母字符全部替换为空格字符" " 得到一个全小写的纯字母字符串包含有空格字符
     */
    str = str.toLowerCase();// 将字符串中的英文部分的字符全部变为小写
    String regex = "[W]+";// 非字母的正则表达式 --W:表示任意一个非单词字符
    str = str.replaceAll(regex," ");
    String[] strs = str.split(" "); // 以空格作为分隔符获得字符串数组
    return strs;
  }
  public static void countword(String[] strs) {
    /*
     * 建立字符串(String)出现次数(Integer)的映射
     */
    HashMap<String,Integer> strhash = new HashMap<String,Integer>();
    Integer in = null;// 用于存放put操作的返回值
    for (String s : strs) {// 遍历数组 strs
      in = strhash.put(s,1);
      if (in != null) {// 判断如果返回的不是null,则+1再放进去就是出现的次数
        strhash.put(s,in + 1);
      }
    }
    Set<java.util.Map.Entry<String,Integer>> entrySet = strhash.entrySet();
    String maxStr = null;// 用于存放出现最多的单词
    int maxValue = 0;// 用于存放出现最多的次数
    for (java.util.Map.Entry<String,Integer> e : entrySet) {
      String key = e.getKey();
      Integer value = e.getValue();
      if (value > maxValue) {
        maxValue = value;// 这里有自动拆装箱
        maxStr = key;
      }
    }
    System.out.println("出现最多的单词是:" + maxStr + "出现了" + maxValue + "次");
  }
  @SuppressWarnings("resource")
  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    System.out.println("请输入一行英文句子:");
    String str = scan.nextLine();
    System.out.println("输入的英文句子为:" + str);
    String[] strs = strTostrArray(str);
    countword(strs);
  }
}

PS:这里再为大家推荐2款非常方便的统计工具供大家参考使用:

在线字数统计工具:
http://tools.aspzz.cn/code/zishutongji

在线字符统计与编辑工具:
http://tools.aspzz.cn/code/char_tongji

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读