Java 计算文本文件中所有空格和字符的频率
我对文本文件有一些问题:Java 计算文本文件中所有空格和字符的频率,java,file,input,output,text-files,Java,File,Input,Output,Text Files,我对文本文件有一些问题: 在没有HashMap的情况下,如何对文本文件中的字符频率、空格、(“..”运算符)和字数进行计数和排序 我试图通过以下方式解决这个问题: public class Aaasssssss { public static void main(String[] args) throws IOException { File file1 = new File("input.txt"); BufferedReader in = new
public class Aaasssssss {
public static void main(String[] args) throws IOException {
File file1 = new File("input.txt");
BufferedReader in = new BufferedReader (new FileReader (file1));
System.out.println("Letter Frequency");
int nextChar;
char ch;
int[] count = new int[30];
while ((nextChar = in.read()) != -1) {
ch = ((char) nextChar);
if (ch >= 'a' && ch <= 'z')
count[ch - 'a']++;
}
for (int i = 0; i < 26; i++) {
System.out.printf("%c %d", i + 'A' , count[i]);
System.out.println( "");
}
in.close();
}
}
公共类aaasss{
公共静态void main(字符串[]args)引发IOException{
File file1=新文件(“input.txt”);
BufferedReader in=新BufferedReader(新文件读取器(文件1));
System.out.println(“字母频率”);
int nextChar;
char ch;
int[]计数=新的int[30];
而((nextChar=in.read())!=-1){
ch=((char)nextChar);
如果(ch>='a'&&ch)您只想从a
到z
计算发生次数,但您没有编写任何逻辑来计算
,空格。count=new int[128]
并检查ch<128
。这是7位ASCII范围。如何将此代码频率从大到小排序?例如,字母“A”的字符数=4和“B”的字符数=7,我想将字母“B”放在第一位,因为它比字母“A”大。如果您只想从A
到计算发生次数,则您的代码可以de>z
,但您还没有编写任何逻辑来计算
,空格。count=new int[128]
并检查ch<128
。这是7位ASCII范围。如何将此代码频率从大到小排序?例如,字母“A”的字符数=4和“B”=7,我希望将字母“B”放在第一位,因为它比字母“A”大