1. 程式人生 > >201671010456-張瓊 實驗二 詞頻統計軟件項目報

201671010456-張瓊 實驗二 詞頻統計軟件項目報

found while 文件 entry 顯示 ade new 能夠 style

一、需求分析

1.程序要能夠讀入英文文本,並且要求此文本不能為空。
2.程序能容納的英文單詞要在10萬以上。
3.程序要能輸入想查找的一個或者多個英文單詞,並且統計出它出現的次數,並且把它的統計結果以柱狀圖的形式顯示出來。
4.程序運行結果自動顯示該文本的單詞總數和每個單詞出現的頻率。把單詞數和詞頻數按照字典順序輸出到文件result.txt。
5.當在鍵盤輸入高頻詞的個數k後,進行程序統計功能運行,之後要按照詞頻數降序排列顯示在k之前的每個單詞的數量和單詞。

二、功能設計

基本功能:能夠讀入單詞並且統計出總詞數,並能統計每個單次出現的頻率。因為對語言並不是特別熟悉,所以最後的統計功能和柱狀圖並沒有實現。

三、設計實現

  • 運行環境:windows環境 eclipse軟件

  • 流程圖
    技術分享圖片
  • 程序設計:定義一個主類main,首先讀取文件,文件的位置要設置成相對位置。然後進行存儲,統計單次出現的頻率及其總詞數。用叠代遍歷關閉流。文件的相對位置存儲中,上傳的步驟需要清楚。首先新建一個文件,在裏面添加進去要掃面統計的文本。

    四、測試運行

    技術分享圖片

    五、代碼片段展示

    相對路徑的展示

    try{
                //使用流的方法讀取文件
                BufferedReader br = new BufferedReader(new FileReader(
                        "result.txt"));
    while(it.hasNext()){
                    Map.Entry<String, Integer> entry = it.next();//獲取map中每一個鍵值
                    //輸出結果
                    System.out.println(entry.getKey()+"        "+entry.getValue());
                    br.close();//關閉流
                }
                System.out.println("單詞總數為:"+count+"個");
    
            }catch(FileNotFoundException e){//
                e.printStackTrace();
            }catch(IOException e){
                e.printStackTrace(); 
            }

    六、總結

    在本次作業中,遇到的困難很多,花費的時間也很多,因為對語言的不熟悉,所以參考了網上的代碼。剛剛拿到這個作業時不會做,翻書復習了java,對個人項目的流程有了一定的掌握。但是柱狀圖的功能並沒有實現。嚴格意義上來說並沒有完成本次作業,只實現了最簡單的單詞總數統計和詞頻統計。 裏面涉及到了好多函數的應用,有很多都是不會的,意識到數據結構的重要性,而自己對這部分知識的掌握還僅僅停留在做題上。除此之外,對GitHup的操作流程也熟悉了。

    七、psp展示

    階段/時長 計劃總共需要的完成時間(min) 實際完成需要的時間(min)
    計劃 10 10
    估計需要時間,並計劃大致工作步驟 10 10
    開發 90 150
    需求分析 15 20
    生成設計文檔 30 20
    設計復審 5 5
    代碼規範 5 5
    具體設計 10 15
    具體編碼 90 240
    代碼復審 10 5
    測試 10 10
    報告 5 3
    測試報告 5 5
    計算報告量 10 10
    總結,並提出改進計劃 20 25

    源代碼地址:https://github.com/ZhangQiong1/program1

    201671010456-張瓊 實驗二 詞頻統計軟件項目報