結對編程

1.碼雲地址:

https://gitee.com/wangqiwen/SoftwareEngineering.githtml

結對小夥伴的學號:201621123043git

博客地址:http://www.javashuo.com/article/p-ayrfrjox-ga.html函數

碼雲地址:https://gitee.com/wengmingqiang/PersonalProject-C學習

2.PSP表格

PSP2.1 我的開發流程 預估耗費時間(分鐘) 實際耗費時間(分鐘)
Planning 計劃 30 35
· Estimate 明確需求和其餘相關因素,估計每一個階段的時間成本 20 15
· Development 開發 240 250
· Analysis 需求分析 (包括學習新技術) 30 25
· Design Spec 生成設計文檔 15 20
· Design Review 設計複審 10 15
· Coding Standard 代碼規範 10
· Design 具體設計 50 80
· Coding 具體編碼 100 120
· Code Review 代碼複審 40 20
· Test 測試 (自我測試,修改代碼,提交修改) 150
Reporting 報告 80 90
· 測試報告 30 30
· 計算工做量 20 20
· 並提出過程改進計劃 30 40

3.解題思路描述:

我主要的任務是將代碼中的各個功能增長。
詞組統計:能統計文件夾中指定長度的詞組的詞頻
輸入查找詞頻,就是隻有詞頻爲n的單詞(不肯定本身是否是審題錯誤,不過錯誤的話修改起來也很容易)
測試

自定義輸出:能輸出用戶指定的前n多的單詞與其數量(前n種單詞)

結果:

則將輸出信息輸出到文件 output.txt中。

輸入不一樣數值:
詞頻爲4數量爲6

數量爲10
編碼

詞頻爲10 數量爲1(不存在長度爲10的連續字符因此值爲0)
設計

4.設計過程

一、在原來的代碼上加一些東西。定義一個choice的變量,而後輸入的詞頻爲choice。再此進行函數操做,具體在代碼部分說明。
對於定義輸出的n種單詞只要在輸出時設置一個i 每次i+1知道等於n爲止就能夠。3d

5.代碼說明,展現出項目關鍵代碼,並解釋思路與註釋說明。

結果圖片:

對於詞頻的判斷與輸出。
判斷:代碼規範

public static Map<String, Integer> getWordFreq(String text,int choice) // 統計單詞詞頻(單詞:以4個英文字母開頭,跟上字母數字符號,單詞以分隔符分割,不區分大小寫。)
   {
       HashMap<String, Integer> wordFreq = new HashMap<String, Integer>();
     
     String content = text.replace('\r', ' ');
     content = text.replace('\b', ' ');
     content = text.replace('\n', ' ');
     
    String words []= content.split(" ");
     for(int i= 0; i<words.length;i++)
     {
         if (words[i].length()==choice){
         int j = 0;
         for(  j =0;j<choice;j++)
         { 
             char c =words[i].charAt(j);
             if(!((c>='A'&& c<='Z')||(c>='a'&& c<='z')))
                 break;
         }
        
         if(j==choice)
         {
             words[i] = words[i].trim().toLowerCase();  // 將字符串轉化爲小寫
             if (wordFreq.get(words[i]) == null) 
                 { // 判斷以前Map中是否出現過該字符串
                     wordFreq.put(words[i], 1);
                 } 
             else
                 wordFreq.put(words[i], wordFreq.get(words[i]) + 1); 
         }}
     }
     return wordFreq;
 }}

輸出:code

Map<String, Integer> wordFreq = deal.getWordFreq(content,choice);
       /*遍歷map*/
       for (Map.Entry<String, Integer> entry : wordFreq.entrySet()){
           if(i<num){ 
        String key = entry.getKey();
        Integer value = entry.getValue();
        System.out.println("單詞:" + key + ", 數量:" + value);
        i=i+1;
        byte[] temp=new byte[80];
        temp=key.getBytes();
        fos.write(temp);//將單詞輸入文件2.txt
        }

7.結合在構建之法中學習到的相關內容與結對項目的實踐經歷,描述結對的感覺,是否1+1>2?

我以爲整體來講1+1必定是大於2的,由於兩我的能夠互相監督,互相協做,碰到的問題也有人能夠聊,不會一我的作到一半就想着看別人的代碼,另外,兩我的對於分工以及各我的的工做都能有效率上的提升,每一個人有各個的分工,能夠減輕單我的的代碼負擔。

相關文章
相關標籤/搜索