当前页面: 开发资料首页 → 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;i
System.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;i
System.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]);
}
}
}
只能处理全部是小写字母的情况,如果有大写字母或其它符号在内,有该怎么处理呢?
望指教