Class__Two
今天老师要求做查找英文文章中最高频的词 文章用文本储存
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
private final int MAX = 1000;
private String[] st;
private String s; //用来转换StringBuilder类型
private words[] a = new words[MAX]; //声明一个类数组
private StringBuilder str=new StringBuilder(); //为了储存从文本中导出的字符串
/*
* 文件内容的导出
*/
public void output_1() throws IOException
{
File a=new File("information.txt");
FileInputStream b = new FileInputStream(a);
InputStreamReader c=new InputStreamReader(b,"UTF-8");
{
BufferedReader bufr =new BufferedReader(c);
String line = null;
while((line = bufr.readLine())!=null){
st=line.split("[ ,?!.'\"\t]"); //字符串变成字符串数组,设置多个分割符
for(int i=0;i<st.length;i++)
str.append(st[i]+" "); //将字符串添加到str类中
}
bufr.close();
}
c.close();
b.close();
s=""+str; //将str转换成String类
st=s.split(" "); //将s转换成字符串数组
}
/*
* 用来比较字符串数组中哪个单词出现的频率多
*/
public String Competive() throws IOException {
String Max;
output_1();
int m=1;
int max=0;
a[0]=new words(); //每次调用声明的a类数组都必须给它开辟一个空间
a[0].Words=st[0];
a[0].Number = 1;
for(int i=1;i<st.length;i++) {
boolean flag = true;
for(int j=0;j<m;j++) {
if(a[j].Words.equals(st[i])) { //如果字符串相同则它们出现的次数加一
a[j].Number++;
flag = false;
break;
}
}
if(flag) { //将不同的字符串传入
m++;
a[m-1]=new words();
while(st[i].equals(" "))
i++;
a[m-1].Words=st[i];
a[m-1].Number = 1;
}
}
for(int n=1;n<m;n++) { //比较得出出现的次数最多的那个单词
if(a[max].Number<a[n].Number)
max=n;
}
Max = a[max].Words;
return Max;
}
public static void main(String[] args) throws IOException {
Mananger con = new Mananger(); //声明一个Mananger对象用来调用Competive函数
System.out.println("出现最多的单词是:"+con.Competive());
}
}
Class__Two的更多相关文章
随机推荐
- CUDNN安装
在英伟达官网下载后解压,然后: cd cuda sudo cp lib64/* /usr/local/cuda/lib64/ sudo cp include/* /usr/local/cuda/inc ...
- 误删除innodb ibdata数据文件
今天在群里看到有人说不熟悉innodb把ibdata(数据文件)和ib_logfile(事务日志)文件误删除了.不知道怎么解决.当时我也不知道怎么办.后来查阅相关资料.终找到解决方法.其实恢复也挺简单 ...
- PinyinUtil
import java.util.HashSet;import java.util.Set;import java.util.regex.Matcher;import java.util.regex. ...
- javascript常见操作数组的方法
在 JavaScript 中,判断一个变量的类型尝尝会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 "obj ...
- Cartographer源码阅读(3):程序逻辑结构
Cartographer早期的代码在进行3d制图的时候使用了UKF方法,查看现有的tag版本,可以转到0.1.0和0.2.0查看,包含kalman_filter文件夹. 文件夹中的pose_track ...
- 高并发负载均衡——nginx与lvs
一.企业级web项目架构 一.企业级web项目架构图 二.架构分析 客户端通过企业防火墙发送请求 在App服务器如tomcat接收客户端请求前,面对高并发大数据量访问的企业架构,会通过加入负载均衡主备 ...
- Python 全栈开发十一 深浅拷贝
深浅拷贝 深浅拷贝的前提: 相等和相同的关系 深浅拷贝针对的是列表等可变的数据类型. 深浅拷贝在普通的列表没有什么意义,只有在嵌套列表,或其他嵌套数据类型才有意义. a = "aaa&quo ...
- jenkins 设置钉钉通知--钉钉机器人
https://blog.csdn.net/workdsz/article/details/77531802
- itemscope itemtype="http://schema.org/AggregateRating"
Review Canonical URL: http://schema.org/Review Thing > CreativeWork > Review A review of an it ...
- Dropout正则化和其他方法减少神经网络中的过拟合
1. 什么是Dropout(随机失活) 就是在神经网络的Dropout层,为每个神经元结点设置一个随机消除的概率,对于保留下来的神经元,我们得到一个节点较少,规模较小的网络进行训练. 标准网络和dro ...