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的更多相关文章
随机推荐
- linux 替换 sed命令 转载
转载自这里,感谢原作者 sed 's/test/mytest/g' example.txt 表示将example.txt中的test文本全部替换为mytest 请注意这个命令sed 's/test/m ...
- LeetCode-300.Longst Increasing Subsequence
Given an unsorted array of integers, find the length of longest increasing subsequence. Example: Inp ...
- Python3学习之路~5.7 Json & pickle 模块
用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...
- 006-优化web请求二-应用缓存、异步调用【Future、ListenableFuture、CompletableFuture】、ETag、WebSocket【SockJS、Stomp】
四.应用缓存 使用spring应用缓存.使用方式:使用@EnableCache注解激活Spring的缓存功能,需要创建一个CacheManager来处理缓存.如使用一个内存缓存示例 package c ...
- 对Python源码加密及反编译前后对比
关于python的加密 目前软件开发商对 Python 加密时可能会有两种形式,一种是对python转成的exe进行 保护,另一种是直接对.py或者.pyc文件进行保护,下面将列举两种形式的保护流程. ...
- Kalman滤波学习
两个过程: 预测过程和更新过程 1.基本原理 2.IMU应用Kalman滤波求角速度. https://github.com/jjundot/MPU6050_Kalman
- NeuroNER+brat工具学习
1.Brat:http://brat.nlplab.org/ 能够进行直觉标注.命名实体识别.关系标注.分块.共存标注.二元关系标注等(药物与药物).时间标注. 但是这个安装好麻烦啊... 2.
- gerrit上的commit msg中关联jira单号(含gerrit的安装)
这个问题折腾了很久,前期后后大概一个月吧,终于搞定了,查了很多资料,有的不完整,有的完全就不能用,有的没说完整,所以一定要记录下来,我的心血啊. 由于公司在用的gerrit的是正式环境中的,大家都在使 ...
- 密码登录源码(jsp+java+数据库)
jsp界面: <%@ page language="java" contentType="text/html; charset=utf-8" pageEn ...
- 实验一Java开发环境的熟悉-3
实现学生成绩管理功能(增删改,排序,查找),并进行测试(正常情况,异常情况,边界情况). 代码: