900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 常见算法题--Java统计一段英文句子中出现次数最多的单词(Java统计一个英文句子中出现

常见算法题--Java统计一段英文句子中出现次数最多的单词(Java统计一个英文句子中出现

时间:2023-03-20 23:46:55

相关推荐

常见算法题--Java统计一段英文句子中出现次数最多的单词(Java统计一个英文句子中出现

这篇文章主要介绍了Java统计英文句子中出现次数最多的单词并计算出现次数的方法,涉及java针对英文句子的字符串遍历、转换、正则替换、计算、集合基本使用方法等相关操作技巧,需要的朋友可以参考下。JAVA实现完整代码如下:import java.util.*;public class CountWord {public static void main(String[] args) {String str = "";str = "If a person wants you alive and dead, it is not love, but possession. A person who really likes you and loves you will not try his best to get you, cheat you with lies, please you with rhetoric, but help you with his heart and plan for the future.";String result = countWord(str);System.out.println(result);}

//根据传入英文句子,统计出现最多次数的单词并返回private static String countWord(String str) {//将逗号、句号、问号用空格替换String result = "";str = str.replace(","," ").replace("."," ").replace("'"," ").replace("?"," ");//将'号用空格替换System.out.println("去掉标点符号后的字符串为:" +"\n" + str);String[] strings = str.split("\\s+"); // “\\s+”代表一个或多个空格,是正则表达式Map<String, Integer> map = new HashMap<String, Integer>();List<String> list = new ArrayList<String>();//存储每个不重复的单词for(String s : strings){if(map.containsKey(s)){//如果map中已经包含该单词,则将其个数+1int x = map.get(s);x++;map.put(s, x);}else{ //如果map中没用包含该单词,代表该单词第一次出现,则将其放入map并将个数设置为1map.put(s, 1);list.add(s);//将其添加到list中,代表它是一个新出现的单词}}int max=0;//记录出现次数最多的那个单词的出现次数String maxString = "";//记录出现次数最多的那个单词的值/** 从list中取出每个单词,在map中查找其出现次数* 并没有真正排序,而只是记录下出现次数最多的那个单词*/for(String s : list){int x = map.get(s);if(x>max){maxString = s;max = x;}}result = "给出英文句子中中出现次数最多的单词"+maxString+"出现次数为:"+max;return result;}}

常见算法题--Java统计一段英文句子中出现次数最多的单词(Java统计一个英文句子中出现次数最多的单词)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。