1. 程式人生 > >字母統計|英語的26 個字母在一本小說中是如何分布的

字母統計|英語的26 個字母在一本小說中是如何分布的

out 無法 ace 數據讀取 != exce 文件夾 ota 轉化

    public static String input()
    {
        String s="";
    
        //表示磁盤路徑的兩種表示方式:1、\\   2、/
        try {

            //1、建立連接
            InputStream is = new FileInputStream("F:/新建文件夾/tongji/aaa.txt");
            //2、開始讀取信息
            //先定義一個字節數組存放數據
            byte[] b = new byte[10000];//把所有的數據讀取到這個字節當中
            
//聲明一個int存儲每次讀取到的數據 int i = 0; //定義一個記錄索引的變量 int index = 0; //循環讀取每個數據 while((i=is.read())!=-1){//把讀取的數據放到i中 b[index]=(byte) i; index++; } //把字節數組轉成字符串 //關閉流 is.close(); s
=new String(b); } catch (FileNotFoundException e) { // TODO Auto-generated catch block //系統強制解決的問題:文件沒有找到 e.printStackTrace(); } catch (IOException e) { //文件讀寫異常 // TODO Auto-generated catch block e.printStackTrace(); }
return s; }
public static void main(String[] args)
        {
            //定義需要計算字母出現次數的文本
            String text=daoruchu.input();
            //定義26個字母
            String letter="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
            calculate(text,letter);
        }
        public static void calculate(String text,String letter)
        {
            //定義存儲各字母出現次數的數組
            int []counter=new int[52];
            //定義字母總個數的計數器。排除標點符號,空格和數字。
            int total_counter=0;
            //將string類型轉化成char類型
            char[] text_tr=text.toCharArray();
            char[] letter_tr=letter.toCharArray();
            //計算各字母出現次數以及總字母數
            //外層循環,遍歷26個字母
            for(int i=0;i<52;i++)
            {
                //內層循環,遍歷待計算文本
                for(int j=0;j<text_tr.length;j++)
                {
                    //字母每在文本中出現一次,字母計數器加一,總字母個數計數器加一
                    if(text_tr[j]==letter_tr[i])
                    {
                        counter[i]++;
                        total_counter++;
                    }
                }
            }
        
            for(int i=0;i<52;i++)
            {
            
                //輸出結果

                System.out.println(letter_tr[i]+"‘s number is "+counter[i]);
            }
            System.out.println("sum:"+total_counter);
        }
    

這個程序分為兩個部分:

1、第一個類實現文件的導入導出

2、第二個類實現字母的統計;

目前的問題:

文件導出仍然存在問題;主要問題是無法把統計結果轉換成文件導出的字節;

字母統計|英語的26 個字母在一本小說中是如何分布的