文章字母频率统计

Posted yishaui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文章字母频率统计相关的知识,希望对你有一定的参考价值。

在听到这个任务的时候,脑子里一片空白,在与同学交流之后,也有了自己的一点思路,也了解了如何在Java中读取txt文件,但是在大小写转化的上还有问题

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ProjectWork1 {
private int num[]=new int[52];
public void readTxt(String filePath) {
try {
File file = new File(filePath);
if(file.isFile() && file.exists()) {
InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "utf-8");
while(isr.ready())
{
char c=(char)isr.read();
if(c>=‘a‘&&c<=‘z‘)
{
++num[(int)(c-‘a‘)];
}
else if(c>=‘A‘&&c<=‘Z‘)
{
++num[(int)(c-‘A‘)];
}
}
isr.close();
} else {
System.out.println("文件不存在!");
}
} catch (Exception e) {
System.out.println("文件读取错误!");
}
}
public int[] num1()
{
return num;
}
public static void main(String[] args) {
String filePath = "D://Test.txt";
ProjectWork1 a=new ProjectWork1();
a.readTxt(filePath);
int num[]=a.num1();
for(int i=0;i<52;i++)
{
if(i<=25)
System.out.println((char)(i+‘a‘)+" "+num[i]);
else System.out.println((char)(i+‘A‘-26)+" "+num[i]);
}
}
}

技术分享图片

 
























































以上是关于文章字母频率统计的主要内容,如果未能解决你的问题,请参考以下文章

统计一段文章的单词频率,取出频率最高的5个单词和个数(python)

单词统计

单词统计

统计单词频率

Java实现英语文章词频统计

课堂测试-统计单词个数和字母出现频率