课堂测试一

package word_show;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class word{

public static void main(String[] args) throws IOException {
try {
//IO操作读取文件内容
FileReader fr = new FileReader("D:\\\\QQ Download\\\\java\\\\piao_english.txt");
BufferedReader br = new BufferedReader(fr);
NumberFormat nf = NumberFormat.getInstance();

// 设置精确到小数点后2位

nf.setMaximumFractionDigits(2);
HashMap<String, Integer> map = new HashMap<String, Integer>();

String string =null;
Integer count = 0;//每个字母的次数
Integer total = 0;//总共多少个字母

while ((string=br.readLine())!=null) {
char[] ch = string.toCharArray();

for (int i = 0; i < ch.length; i++) {
if (ch[i] > 'A' && ch[i]< 'z') {

total++;
ch[i] = Character.toLowerCase(ch[i]);
count = map.get(ch[i]+"");
if (count == null) {
count = 1;
}else {
count++;
}
map.put(ch[i]+"", count);
}
}
}
ArrayList<String> list = new ArrayList<String>();
list.addAll(map.keySet()); //将单词添加到list中

//排序按照出现次数降序排列
for(int i = 0;i < list.size();i++)
{

for(int j = 0;j < (list.size() - i-1);j++) //list.size() - i-1因为要用到i+1要考虑是否超出范围的问题
{

if(map.get(list.get(j)) < map.get(list.get(j+1)))
{
String t = list.get(j);
list.set(j, list.get(j+1));
list.set( j+1, t);
}
}
}
for(int i = 0 ; i < list.size();i++)
{
System.out.println(list.get(i) + ":" + map.get(list.get(i)) +" "+ nf.format((float)(map.get(list.get(i)))*100/total) + "%");
}


} catch (FileNotFoundException e) {
e.printStackTrace();
}
}

}

最新文章

  1. Linux文件与目录管理
  2. open nms安装教程
  3. Web应用功能测试测试点
  4. shiro学习中报错解决方法
  5. velocity.js用法整理1
  6. hadoop运行原理之Job运行(三) TaskTracker的启动及初始化
  7. 微信分享朋友圈监听(PHP)
  8. Android studio编译之后显示中文乱码的问题解决办法
  9. Mac上mariadb的启动与关闭
  10. hibernate的一对多、多对一详解
  11. [PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索
  12. 虚拟机修改静态ip
  13. shell队列实现线程并发控制(转)
  14. Myeclipse和 eclipse中的控制台汉字横着显示修改
  15. 4-3 重构发送post请求
  16. windows怎样查看被程序占用的端口
  17. Git文件常见下标符号说明
  18. pyautogui_pdf批量转换为TXT
  19. Python - 利用flask搭建一个共享服务器
  20. Win10环境配置Bitcoin Core节点

热门文章

  1. Python 语法错误 except Exception, e: ^ SyntaxError: invalid syntax
  2. DeWeb --- Hello,World!
  3. 【Azure 存储服务】代码版 Azure Storage Blob 生成 SAS (Shared Access Signature: 共享访问签名)
  4. Linux wget 命令 使用总结
  5. SpringBoot 中发布ApplicationEventPublisher,监听ApplicationEvent 异步操作
  6. PTA 7-3 Windows消息队列 (25分)
  7. 重磅|Apache ShardingSphere 5.0.0 即将正式发布
  8. Python基础(filter)
  9. Mac 下安装 MySQL 步骤
  10. [atARC127F]&#177;AB