用JAVA编写一个程序,从键盘读入一段英文(多行),找出其中所有的英文单词,统计每个单词出现的次数,并按照单词出现次数由大到小排序后输出。
如何用JAVA编写一个程序,从键盘读入一段英文(多行),找出其中所有的英文单词,统计每个单词出现的次数,并按照单词出现次数由大到小排序后输出?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- threenewbee 2023-04-01 19:10关注
用正则表达式+java 8 stream api
import java.util.*; public class WordCount { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Map<String, Integer> wordCount = new HashMap<>(); while (sc.hasNextLine()) { String line = sc.nextLine(); String[] words = line.split("\\s+"); for (String word : words) { if (word.matches("[a-zA-Z]+")) { wordCount.put(word, wordCount.getOrDefault(word, 0) + 1); } } } List<Map.Entry<String, Integer>> list = new ArrayList<>(wordCount.entrySet()); Collections.sort(list, (a, b) -> b.getValue() - a.getValue()); for (Map.Entry<String, Integer> entry : list) { System.out.println(entry.getKey() + " " + entry.getValue()); } } }
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
- ¥15 C语言使用vscode编码错误
- ¥15 用KSV5转成本时,如何不生成那笔中间凭证
- ¥20 ensp怎么配置让PC1和PC2通讯上
- ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
- ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
- ¥15 请各位帮我看看是哪里出了问题
- ¥15 vs2019的js智能提示
- ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
- ¥15 uniapp的h5项目写一个抽奖动画