文章字母频率统计

在听到这个任务的时候,脑子里一片空白,在与同学交流之后,也有了自己的一点思路,也了解了如何在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]);
}
}
}

原文地址:https://www.cnblogs.com/yishaui/p/9775652.html

时间: 2024-11-01 10:22:23

文章字母频率统计的相关文章

英文字母频率统计

读取文件,统计各个字母出现的频率. 源程序: 1 /** 2 * Count the frequence of each character by reading a file. 3 * 4 * @author LuoPeng 5 * @time 2015.3.5 6 * 7 */ 8 public class CharacterFrequence { 9 10 /** 11 * Count the frequence of each character 12 * @param filePath

信息安全之程序实现简单替换加密,并用字母频率统计进行破解

1程序实现简单密码替换 首先我们找一篇英文文章 然后写程序简单替换,这里我们使用移位替换a移3位替换成d(key表示移位数) 读入文件函数 测试加密System.out.println(encode(readfile("2.txt"),3)); 加密前 加密后 然后我们来破解 我们知道英文中出现频率最高字母的是e字母,我们先测试下: 测试代码: 主函数输出:System.out.println(find(readfile("2.txt"))); 结果果然是e 现在我

对英文文档中的单词与词组进行频率统计

一.程序分析 1.以只读模式读取文件到字符串 def process_file(path): try: with open(path, 'r') as file: text = file.read() except IOError: print("Read File Error!") return None return text 2.对字符串进行数据清洗,返回一个字典 import re word_list = re.sub('[^a-zA-Z0-9n]', ' ', textStr

使用R完成字符串的子字符串频率统计

整理自统计之都论坛 方法一   使用strsplit函数 a <- "aggcacggaaaaacgggaataacggaggaggacttggcacggcattacacggagg" b <- strsplit(as.character(a),"ag") length(b[[1]]) - 1 ##子字符串"ag"的出现个数 方法二   使用正则式函数 a <- "aggcacggaaaaacgggaataacggagg

文本项目系列[2]——字符串元音字母次数统计

1.需求 统计元音字母——输入一个字符串,统计处其中元音字母的数量.更复杂点的话统计出每个元音字母的数量. 2.思路 输入:不超过100个字符的字符串.比如:"love me love my dog". 处理:元音字母就a/e/i/o/u五个,可以分别统计出各自的数量,总数相加就可以了. 输出如下: 元音总次数:6a次数:0e次数:3i次数:0o次数:3u次数:0 3.代码 package com.myeclipse; public class VowelCount { /** * @

在thinkphp中,写的博文标签多对多关系的标签频率统计算法

常常看到别人的博客里面,或者网站里面有这样随机颜色,但字体大小与标签出现频率有关的标签云,于是自己就想写一个.至于颜色的随机显示,那就很简单了,这里就不列代码. 因为正在学thinkphp,所以数据查找的都是用的tp数据查找语句. 1 Public function render( $data ){ 2 //在博文——标签多对多关系的中间表中查找出所有的标签 3 $tags = M('blog_tags')->select(); 4 $a = array(); 5 //去掉重复的标签,将所有不重

为Typecho增加文章阅读次数统计功能

文章次数统计是比较常用的功能,插件一搜一堆,下面说说把这个功能集成到主题里的方法:把下面这段代码放到主题文件functions.php中 function Postviews($archive) { $db = Typecho_Db::get(); $cid = $archive->cid; if (!array_key_exists('views', $db->fetchRow($db->select()->from('table.contents')))) { $db->

帝国CMS文章字母导航的方法

大致明白的字母导航的方法:进入后台>管理数据表>管理字段(想在那个模型里面增加字母模型,就选哪个里面的"管理字段")>点击左上角的增加字段>字段名必须写"infozm",字段标识写"字母导航",下面的可以都是默认,然后提交.上面只是完成了一部分,接着点击>管理数据表>管理系统模型>修改>找到刚才添加的字段(勾选"录入项","可增加","可修改&quo

多变量频率统计——r

例如有X1,X2,..,Xn个变量,我需要对每一个变量进行频次统计,如果一个一个求解的话非常麻烦,如table(X1), table(X2), ... ,table(Xn).有没有简单的语句一次性求解?谢谢 假定你X1,X2,...Xn都是一个data frame(df)中的列的话,那么:lapply(df, table)