站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题各位大虾:怎么统计给定文件中每个字母中出现的频率!!!

各位大虾:怎么统计给定文件中每个字母中出现的频率!!!

摘要: 各位大虾:怎么统计给定文件中每个字母中出现的频率!!!


import java.io.*;
public class TryReadFile
{
public static void main(String args[])
{
byte[] info=new byte[8];
String dirName="d:/test";
String fileName="test.txt";
try
{
File dirObject=new File(dirName);//创建目录对象
File fileObject=new File(dirObject,fileName);//创建文件对象
FileInputStream inputFile=new FileInputStream(fileObject);//创建输入流对象
inputFile.read(info);//将test文件中的内容读到数组中去
inputFile.close(); //关闭文件
}
catch(FileNotFoundException e)
{
System.out.println("FileNotFoundException"+e+" occured.");
}
catch(IOException e)
{
System.out.println("IOException"+e+" occured.");
}
for(int i=0;iSystem.out.print((char)info[i]+" ");
System.out.println();
//怎么在这里对字母的出现频率进行统计???

}

其中test.txt中的的字母(假设)是 a,c,d,a,b,c,b,d



int[] count = new int[26];

for(int i=0;i ++count[(int)info[i]-(int)'a'];


建议楼主把题目中第二个中字去掉


happydivid(泓笑) 得不错


int[] count = new int[26];

for(int i=0;i ++count[(int)info[i]-(int)'a']; ???能不能解释下,你这里好象是统计字母的出现频率,但是输出不好写,难道要我从a字母到z字母写出它们所有的出现次数


UP


上面代码就是统计每个字母出现的次数。
 如果频率,楼主用次数除以字母个数不就得到了吗?
 p.s. 数组初始为0


其中test.txt中的的字母(假设)是 a,c,d,a,b,c,b,e

要求输出(按字母顺序输出)
a:2
b:2
c:2
d:1
e:1
那输出就不好写了吧


有没有人告诉我,这个题目中的输出语句怎么写


关注


import java.io.*;
public class TryReadFile
{
public static void main(String args[])
{
byte[] info=new byte[8];
String dirName="d:/test";
String fileName="test";
try
{
File dirObject=new File(dirName);//创建目录对象
File fileObject=new File(dirObject,fileName);//创建文件对象
FileInputStream inputFile=new FileInputStream(fileObject);//创建输入流对象
inputFile.read(info);//将test文件中的内容读到数组中去
inputFile.close(); //关闭文件
}
catch(FileNotFoundException e)
{
System.out.println("FileNotFoundException"+e+" occured.");
}
catch(IOException e)
{
System.out.println("IOException"+e+" occured.");
}
for(int i=0;iSystem.out.print((char)info[i]+" ");
System.out.println();

int[] count = new int[26];
int[] n=new int[26];
for(int i=0;i ++count[(int)info[i]-(int)'a'];
for(int i=0;i<26;i++)
{
n[i]=i;
System.out.println("字母"+(char)(n[i]+97)+"出现的个数: "+count[i]);
}
}
}

只能处理全部是小写字母的情况,如果有大写字母或其它符号在内,有该怎么处理呢?
望指教


↑返回目录
前一篇: 求救: java 使用关键字类从Hashtable中取值(课本中的错误?)
后一篇: 入门级问题:类方法、实例方法各在什么情况下使用?