日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

结对作业

發(fā)布時間:2023/12/9 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 结对作业 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、要求地址

  • 博客要求地址:https://www.cnblogs.com/happyzm/p/9626779.html
  • Fork碼云項目地址:https://gitee.com/YeHei/PairProject-Java/tree/master
  • 結(jié)對伙伴:余碩銘 博客地址:https://gitee.com/hellolv/PersonalProject-Java

2.PSP表格

PSP2.1個人開發(fā)流程預(yù)估耗費時間(分鐘)實際耗費時間(分鐘)
Planning計劃3030
· Estimate明確需求和其他相關(guān)因素,估計每個階段的時間成本3050
Development開發(fā)550650
· Analysis需求分析 (包括學(xué)習(xí)新技術(shù))5060
· Design Spec生成設(shè)計文檔2030
· Design Review設(shè)計復(fù)審4050
· Coding Standard代碼規(guī)范1015
· Design具體設(shè)計4585
· Coding具體編碼100110
· Code Review代碼復(fù)審3025
· Test測試(自我測試,修改代碼,提交修改)60240
Reporting報告3040
·測試報告1515
·計算工作量510
·并提出過程改進計劃2015

3.基本思路:

根據(jù)題目的要求,首先需要在對已經(jīng)建好或?qū)氲奈臋n進行讀取,這里就需要有文件讀取類,對文件中的所有進行讀取。

文件讀取之后,將相應(yīng)的字符、單詞、行數(shù)等進行計數(shù),并在判斷是否為單詞后,利用Map實現(xiàn)對單詞的詞頻統(tǒng)計,根據(jù)題目中要求進行計算。

對統(tǒng)計出來的數(shù)據(jù)輸出。

4.設(shè)計實現(xiàn)過程。

代碼組織:

1.WordCount類:對字符數(shù)、單詞數(shù)、行數(shù)等進行統(tǒng)計。

  • countChar();統(tǒng)計字符數(shù)
  • countWords();統(tǒng)計單詞數(shù)
  • countLine();統(tǒng)計行數(shù)
  • WordFre();實現(xiàn)單詞詞頻統(tǒng)計并出現(xiàn)次數(shù)從高到低排列

2.FileRead類:導(dǎo)入需要WordCount的文件,進行文件讀取等操作

  • FileOutput();文件讀取
  • FileInput();文件寫入

3.Main類:實現(xiàn)數(shù)據(jù)的輸出和文件路徑的輸入,并將WordCount類和FileInput類調(diào)用,實現(xiàn)功能。:

5、主要函數(shù)

  • countChar() : 統(tǒng)計字符數(shù)量
public static int countChar(String str) { //統(tǒng)計字符數(shù)量 char s; int CharSum=0; for (int i = 0; i < str.length(); i++) { s=str.charAt(i); if (s>=32 && s<=126 || s=='\r' || s=='\n' || s=='\t') { CharSum++; } } return CharSum; }
  • countWords():統(tǒng)計單詞數(shù)量
public int countWords(String[] str) { //統(tǒng)計單詞數(shù)量String str1=text;int WordsSum=0; String[] words=str1.split("\\s*[^0-9a-zA-Z]"); //調(diào)用正則表達式中spilt()方法來切分字段,將字符串中的單詞提取出來 for(String s:words) { if(s.matches("[a-zA-Z{4,}[z-zA-Z0-0]*")) { //調(diào)用matchs方法來判斷這個字符串是否在給定的正則表達式匹配 WordsSum++; } } return WordsSum; }
  • countLine :統(tǒng)計行數(shù)
public static int countLine(String[] str) { //統(tǒng)計行數(shù) int LineSum=0; for (int i = 0; i < str.length; i++) { while(str[i]!=null) { if(str[i].trim().length()==0 || str[i].trim().equals("")) { continue; //調(diào)用trim()方法將頭尾空格去掉,來判斷行數(shù) } LineSum++; } } return LineSum; }
  • WordFre :計算全文的單詞詞頻:
public List<Entry<String, Integer>> WordFre(){WordFre= new HashMap<String, Integer>();String t = text; String[] words = t.split("\\s"); // 將字符串進行分割 for (int i = 0; i < words.length; i++) { if (isWord(words[i])) { // 判斷是否為單詞,調(diào)用isWord函數(shù) words[i] = words[i].trim().toLowerCase();//將大寫字母變成小寫字母 if (WordFre.get(words[i]) == null) { // 判斷之前Map中是否出現(xiàn)過該字符串 WordFre.put(words[i], 1);// 如果為新單詞,放入map中作為key值,value設(shè)為1 } else WordFre.put(words[i], WordFre.get(words[i]) + 1);//如果出現(xiàn)過的單詞則將value值+1 } }
  • 將詞頻排序用list儲存:
List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(WordFre.entrySet());//用list列表儲存鍵值 list.sort(new Comparator<Map.Entry<String, Integer>>() {//對list排序 @Override public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) { if (o1.getValue() == o2.getValue()) {//判斷詞頻是否相等 return o1.getKey().compareTo(o2.getKey());//字典序排列 } return o2.getValue() - o1.getValue();//降序排列 } }); return list;

6、結(jié)合在構(gòu)建之法中學(xué)習(xí)到的相關(guān)內(nèi)容與結(jié)對項目的實踐經(jīng)歷,描述結(jié)對的感受,是否1+1>2?

  • 實驗感受:在這次實驗中,感覺并有完全實現(xiàn)1+1大于2,由于時間間隔在國慶,所以沒有較長時間的在一起討論項目,對于gui界面沒有完善好

轉(zhuǎn)載于:https://www.cnblogs.com/ysm0301/p/9751621.html

總結(jié)

以上是生活随笔為你收集整理的结对作业的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。