java统计每个单词单词出现的次数_统计一篇英文中每个单词出现的次数
/*功能:统计一篇英文中每个单词出现的次数
*实现:用HashMap处理统计,用StringBuffer处理输出
*Date:2014-5-14 深夜
*Author:何龙
*QQ:471628912
*/
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.util.Iterator;
public class StringTokenPro extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JLabel l1, l2;
private JPanel p1, p2;
private JTextArea input, output;
private JButton b1, b2;
private JScrollPane sc1, sc2;
private Map map;
public StringTokenPro() {
super("【何龙作品】 QQ:471628912");// 设置标题
this.setSize(600, 400); // 设置窗体大小
this.setLocation(100, 100); // 设置窗体位置
this.setResizable(false);// 不可更改窗口大小
// 对底层容器进行布局,注意先创建再使用(习惯性用到谁就new谁)
this.setLayout(new GridLayout(1, 2));
p1 = new JPanel();
p2 = new JPanel();
this.add(p1);
this.add(p2);
// // 对P1进行布局(null)
p1.setLayout(null);
l1 = new JLabel("输入一篇文章:");
l1.setFont(new Font("Kaiti", Font.BOLD, 25));
l1.setBounds(10, 10, 300, 40);
input = new JTextArea();
sc1 = new JScrollPane(input);
sc1.setBounds(10, 50, 250, 230);
b1 = new JButton("解析");
b1.setFont(new Font("Kaiti", Font.BOLD, 25));
b1.setBounds(10, 300, 100, 40);
p1.add(l1);
p1.add(sc1);
p1.add(b1);
b1.addActionListener(this);// 监听b1
// 对p2进行布局(null)
p2.setLayout(null);
l2 = new JLabel("解析后结果:");
l2.setFont(new Font("Kaiti", Font.BOLD, 24));
l2.setBounds(10, 10, 300, 40);
output = new JTextArea();
output.setEditable(false);
sc2 = new JScrollPane(output);
sc2.setBounds(10, 50, 250, 230);
b2 = new JButton("生成报告");
b2.setFont(new Font("Kaiti", Font.BOLD, 22));
b2.setBounds(10, 300, 100, 40);
p2.add(l2);
p2.add(sc2);
p2.add(b2);
b2.addActionListener(this);// 监听b2
}
// 事件儿监听
public void actionPerformed(ActionEvent e) {
if (e.getSource() == b1) {
map = new HashMap();
// 注意每次点击“按钮时”,都必须创建一个新的HashMap,
// 不能在构造方法里创建Map,否者下次点击按钮时会用到上次创建的Map,这样会重叠结果
createMap(); // 生成HashMap
output.setText(createOutput());// 处理输出显示,createOutput()返回字符串。
}
if (e.getSource() == b2) {
output.setText("暂时不作IO处理!!!\n\n" + "谢谢合作!!!");
}
}
// 创建HashMap();
public void createMap() {
StringTokenizer tokens = new StringTokenizer(input.getText(),
", ?.!:\"\'\n\r\t\f");// 注意定界符应该包括空格
while (tokens.hasMoreElements()) {
String word = tokens.nextToken().toLowerCase(); // 小写处理
if (map.containsKey(word)) {
Integer count = (Integer) map.get(word);
map.put(word, new Integer(count.intValue() + 1));
} else {
map.put(word, new Integer(1));
}
}
}
// 将HashMap字符串化
public String createOutput() {
StringBuffer output = new StringBuffer("统计每个单词出现的频率:\n");
Iterator keys = map.keySet().iterator();
while (keys.hasNext()) {
Object currentKey = keys.next();
output.append(currentKey + "\t" + map.get(currentKey) + "\n");
}
output.append("\n\n出现不同单词数目:" + map.size() + "\n");
output.append("isEmpty:" + map.isEmpty() + "\n");// 输出map空,表示已遍历结束
return output.toString();// output是StringBuffer,必须在后面显示调用toString();
}
public static void main(String args[]) {
StringTokenPro tt = new StringTokenPro();
tt.setDefaultCloseOperation(EXIT_ON_CLOSE);
tt.setVisible(true);
}
}
测试结果:
java统计每个单词单词出现的次数_统计一篇英文中每个单词出现的次数相关推荐
- java 单词出现次数_java 获取一段英文中每个单词出现的次数
/** *获取一段英文中每个单词出现的次数 */ import java.util.HashMap; import java.util.Iterator; import java.util.Scann ...
- 百词斩英语单词小助手(主要实现英语单词学习的功能。用户可对词典文件中的单词进行预览,增删改查。同时还可进行中英、英中测试。本系统还提供了测试成绩的显示功能。)
struct word //单词的结构体 {char en[MAX_CHAR]; // 英文形式char ch[MAX_CHAR]; //中文形式 } s[MAX_NUM]; //单词数组 int n ...
- 将一句英文中每个单词的首字母大写,其余字母小写 ‘hOw aRE yOU‘ -> ‘How Are You‘
将一句英文中每个单词的首字母大写,其余字母小写 'hOw aRE yOU' -> 'How Are You' var str='hOw aRE yOU'// 将字符串转为数组,按照空格分隔var ...
- java统计单词出现次数_java-统计一段句子中各单词出现的次数
问题:统计一段句子中各单词出现的次数. 思路: 1.使用split方法将文章进行分割,我们这里以空格.逗号和句点为分隔符,然后存到一个字符串数组中. 2.创建一个hashMap集合,key是字符串类型 ...
- java统计大串中小串的出现次数_统计大串中小串出现的次数
/* * 统计大串中小串出现的次数 举例:在字符串" woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavag ...
- python字典统计字母出现次数_第三篇 python运用字典统计字符串中字母出现的次数-Go语言中文社区...
碎碎念 这个内容还是我日常互相种草的好友提供的素材,很基础也很实用,稍微进阶一些就可以用来统计文章中的单词出现的频率了.她在网上找的代码用了库,通过python中的字典可以很简洁的完成.(下图是她在网 ...
- python提取英文单词 每行显示一个_使用python对文件中的单词进行提取
由于需要使用一个纯单词组成的文件,在网上下载到了一个存放单词的文件,但是里面有中文的解释,那就需要做一下提取了. 文本的形式如下: 所见即所得,这个文本是有规律的,每个单词为一行,紧接着下一行便是单词 ...
- mysql dp.cal 显示汉子_计算1到N中各个数字出现的次数 --数位DP
题意:给定一个数n,问从1到n中,0~9这10个数字分别出现了多少次.比如366这个数,3出现了1次,6出现了2次. 题解:<剑指offer>P174:<编程之美>P132 都 ...
- java统计每个单词单词出现的次数_(java)统计若干段英文中的单词数量,并统计每个单词出现的次数按降序排序。...
注1(1)注2 !!!!! 10 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStre ...
最新文章
- SpringBootH ttpInvoker接口调用
- 自定义下拉列表(使用原始的事件监听机制),在搜索框中使用
- 区块链 java 开源_详细介绍Java区块链开源代码背后的内容
- java中正则全局匹配_JS中正则表达式全局匹配模式/g用法实例
- 【2015年第4期】基于大数据技术的P2P网贷平台风险预警模型
- 【Matlab学习笔记】保存图片(待续)
- java hql 连接查询,java – 如何从HQL表单中的两个连接表查询中选择*?
- 日常中的迅捷PDF转换器
- 模电笔记1 | 信号的放大与分贝计算
- 腾讯云学生服务器9元/月
- cpu使用率100%,内存占用不足30%,system进程 pId=4
- 相信我,这些web前端技术会让你虎躯一震
- 《网络安全等级保护基本要求》(GB/T 22239-2019)标准解读
- c语言编程实现今日星期几,计算任何一天是星期几的C语言源代码.
- python3 简单爬虫实战|使用selenium来模拟浏览器抓取选股宝网站信息里面的股票
- 教育部司长:建议开展琴棋书画等校外培训!
- 再次上演兄弟相煎,vivo再次超越OPPO在国内手机市场称王
- echarts tree默认展开_Echarts树形图展开和收缩
- (wake_lock)后台任务 - 保持设备唤醒状态
- 关于TTS SpeechVoiceSpeakFlags几个值的中文意思?