实验目的:使用Scanner类解析文件

我的目的······:上传一个运行没错结果错误但是我现在不想改但是又怕忘记的程序

Wordstatistic.java

import java.io.*;
import java.util.*;
public class wordstatistic{Vector<String> allWord,noSameWord;//构造函数  sFile file=new File("english.txt");Scanner sc=null;//声明Scanner sc,在后面【代码1】中创建该对象String regex;public wordstatistic() {allWord=new Vector<String>();noSameWord=new Vector<String>();regex="[\\s\\d\\p{Punct}]+";//regex是由空格、数字和符号(!"#%&'等)组成的正则表达式try{sc=new Scanner(file);sc.useDelimiter(regex);}catch(IOException exp){System.out.println(exp.toString());}}void setFileNama(String name){file=new File(name);try{sc=new Scanner(file);sc.useDelimiter(regex);}catch(IOException exp){System.out.println(exp.toString());}}public void wordstatistic(){try{while(sc.hasNext()){String word=sc.next();/*hasNext()和Next()效果其实是一样的,系统都会等待输入下一个字符,只是返回值不同,hasNext()会返回true,next()返回输入的字符*/allWord.add(word);if(noSameWord.contains(word))noSameWord.add(word);}}catch(Exception e){}}public  Vector<String>getAllWord(){return allWord;}public Vector<String>getNoSameWord(){return noSameWord;}
}

main.java

import java.util.*;
public class Main {public static void main(String[] args) {Vector<String>allWord,noSameWord;wordstatistic statistic=new wordstatistic();statistic.setFileNama("hello.txt");statistic.wordstatistic();allWord=statistic.getNoSameWord();//getallWord如何定义?noSameWord=statistic.getNoSameWord();System.out.println("共有"+allWord.size()+"个英文单词");System.out.println("有"+noSameWord.size()+"个互不相同的英文单词");System.out.println("按出现频率排序:");int count[]=new int[noSameWord.size()];for(int i=0;i<noSameWord.size();i++){String s1=noSameWord.elementAt(i);for(int j=0;j<allWord.size();j++){String s2=allWord.elementAt(j);if(s1.equals(s2))count[i]++;}}for(int m=0;m<noSameWord.size();m++){for(int n=m+1;n<noSameWord.size();n++){if(count[n]>count[m]){String temp=noSameWord.elementAt(m);noSameWord.setElementAt(noSameWord.elementAt(n), m);noSameWord.setElementAt(temp, n);int t=count[m];count[m]=count[n];count[n]=t;}}}for(int m=0;m<noSameWord.size();m++){double frequency=(1.0*count[m]/allWord.size());System.out.printf("%s:%-7.3f",noSameWord.elementAt(m),frequency);/*print\println\printf的区别print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。printf是格式化输出的形式。* * System.out.printf("the number is: d",t);
参照JAVA API的定义如下:
'd' 整数结果被格式化为十进制整数
'o' 整数结果被格式化为八进制整数
'x', 'X' 整数结果被格式化为十六进制整数
'e', 'E' 浮点结果被格式化为用计算机科学记数法表示的十进制数
'f' 浮点结果被格式化为十进制数
'g', 'G' 浮点根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化。
'a', 'A' 浮点结果被格式化为带有效位数和指数的十六进制浮点数
*/}}
}

实验结果(错误的):

实验感想:

不想干了!脖子疼,就是个废柴。一开始连printf跟print都分不出来,后来还忘记创建getAllWord()函数,呵呵

第十章 实验二 统计英文单词相关推荐

  1. PTA | 实验二 统计英文字母和数字字符[2]

    本题要求编写程序,输入N个字符,统计其中英文字母.数字字符和其他字符的个数. 输入格式: 输入在第一行中给出正整数N,第二行输入N个字符,最后一个回车表示输入结束,不算在内. 输出格式: 在一行内按照 ...

  2. 实验二 词频统计软件项目报告

    实验要求 实验二 软件工程个人项目 GitHib链接 https://github.com/Z-zt/Count 一.需求分析 通过分析实验二题目要求,得出的用户需求主要为: 程序可读入任意英文文本文 ...

  3. 计算机硬件数据统计实验报告,实验二数据统计.docx

    实验二数据统计.docx 南京航空航天大学电工电子实验中心实验报告课程名称计算机硬件技术基础实验名称数据统计姓名学号评定成绩审阅教师实验时间20170502南京航空航天大学南京航空航天大学一.实验目的 ...

  4. 201671010434王雯涵--实验二 软件工程个人项目

    作业要求:实验二 软件工程个人项目 本项目完成的代码 1.软件定义 ※程序可读入任意英文文本文件,该文件中英文词数大于等于1个,统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件r ...

  5. 201671010412 郭佳 实验二 软件工程个人项目

    作业要求:<实验二 软件工程个人项目> 本项目Github的仓库主页 1. 需求分析 本次实验要求使用JAVA编程语言,独立完成一个英文文本词频统计的软件开发. 该程序要求实现: 要求能够 ...

  6. 【通信原理】【实验】实验二:数字基带传输实验(GZHU)

    文章目录 实验二:数字基带传输实验 信源为长度N=1000的随机"0","1"序列,发送端符号速率RB=1000Baud 采用双极性编码: x = randi( ...

  7. 算法设计原则验证实验报告_算法设计与分析实验报告 统计数字问题

    一 . 实验要求 1 .掌握算法的计算复杂性概念. 2 .掌握算法渐近复杂性的数学表述. 3 .掌握用 C++ 语言描述算法的方法. 4 .实现具体的编程与上机实验,验证算法的时间复杂性函数. 二 . ...

  8. 数据结构实验二 树和二叉树的实现

    广州大学学生实验报告 开课实验室:计算机科学与工程实验(电子楼418A)     2019年5月13日 学院 计算机科学与教育软件学院 年级.专业.班 计算机科学与技术172班 姓名 学号 17061 ...

  9. 数据库实验二 SQL语言

    实验二 SQL语言 实验目的 熟悉并掌握创建表,插入记录,查询记录,删除记录,修改记录. 创建索引,删除索引. 创建视图,使用视图,删除视图. 实验内容 现有一个单位内部的小型图书借阅系统,假设每本图 ...

最新文章

  1. 洛谷3384:【模板】树链剖分——题解
  2. python 随机生成密码
  3. Oracle数据文件、用户、schema、实例
  4. poj1738 an old stone game
  5. php 换行 \n \r\n br 简介
  6. 前端学习(2235):react的列表渲染
  7. 恣无忌惮的拼音及解释
  8. WCF REST(9篇)
  9. Landsat8处理小工具(python)
  10. 谷歌浏览器黑色主题设置
  11. 云科技网络验证源码_【原创】酸酸云科技-网络验证界面版注册机注入工具 V3.2...
  12. 《Vim实用技巧》笔记
  13. LVS配合piranha安装使用
  14. ai黑白棋_AI的黑白镜
  15. css层叠样式的使用,CSS层叠样式表——使用CSS样式的方法
  16. 中医是如何辩证出脾胃湿热的?
  17. 以鸿蒙为景柱1009无标题,鸿蒙的意思
  18. 零售行业的六大主要EDI报文
  19. 国产FlexRay系列产品即将上市,值得期待!
  20. 【音视频】音视频概念了解

热门文章

  1. steam 32位 linux 下载,Steam将停止支持基于32位兼容性的Ubuntu Linux
  2. 小学教师计算机考证怎么考
  3. 决策树算法计算过程举例
  4. 项目管理专业人员能力评价(CSPM)含金量高吗?都考什么?
  5. 消息队列rabbitmq(二)windows系统erl和rabbitmq的安装
  6. 董朝:打造云存储服务——移动端数据存储与分发
  7. HTTP 2.0 协议详解
  8. python语法助手_GitHub - xingxiaohui/onmyoji_helper: 基于python开发的阴阳师护肝助手
  9. R与神经网络之Neuralnet包
  10. 谈谈事件相机在自动驾驶领域的应用前景(下)