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

我对文本文件有一些问题:

  • 在没有HashMap的情况下,如何对文本文件中的字符频率、空格、(“..”运算符)和字数进行计数和排序
  • 我试图通过以下方式解决这个问题:

    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”大