結對作業

1、要求地址

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

2.PSP表格

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

3.基本思路:

根據題目的要求,首先需要在對已經建好或導入的文檔進行讀取,這里就需要有文件讀取類,對文件中的所有進行讀取。

文件讀取之后,將相應的字符、單詞、行數等進行計數,并在判斷是否為單詞后,利用Map實現對單詞的詞頻統計,根據題目中要求進行計算。

對統計出來的數據輸出。

4.設計實現過程。

代碼組織:

1.WordCount類:對字符數、單詞數、行數等進行統計。

  • countChar();統計字符數
  • countWords();統計單詞數
  • countLine();統計行數
  • WordFre();實現單詞詞頻統計并出現次數從高到低排列

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

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

3.Main類:實現數據的輸出和文件路徑的輸入,并將WordCount類和FileInput類調用,實現功能。:

5、主要函數

  • countChar() : 統計字符數量
public static int countChar(String str) { //統計字符數量 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():統計單詞數量
    public  int countWords(String[] str) { //統計單詞數量String str1=text;int WordsSum=0; String[] words=str1.split("\\s*[^0-9a-zA-Z]"); //調用正則表達式中spilt()方法來切分字段,將字符串中的單詞提取出來 for(String s:words) { if(s.matches("[a-zA-Z{4,}[z-zA-Z0-0]*")) { //調用matchs方法來判斷這個字符串是否在給定的正則表達式匹配 WordsSum++; } } return WordsSum; } 
  • countLine :統計行數
    public  static int countLine(String[] str) { //統計行數 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; //調用trim()方法將頭尾空格去掉,來判斷行數 } 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])) { // 判斷是否為單詞,調用isWord函數 words[i] = words[i].trim().toLowerCase();//將大寫字母變成小寫字母 if (WordFre.get(words[i]) == null) { // 判斷之前Map中是否出現過該字符串 WordFre.put(words[i], 1);// 如果為新單詞,放入map中作為key值,value設為1 } else WordFre.put(words[i], WordFre.get(words[i]) + 1);//如果出現過的單詞則將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、結合在構建之法中學習到的相關內容與結對項目的實踐經歷,描述結對的感受,是否1+1>2?

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

轉載于:https://www.cnblogs.com/ysm0301/p/9751621.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/277134.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277134.shtml
英文地址,請注明出處:http://en.pswp.cn/news/277134.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

leetcode(34)在排序數組中查找元素的第一個和最后一個位置

在排序數組中查找元素的第一個和最后一個位置 class Solution {public int[] searchRange(int[] nums, int target) {int len nums.length;int start 0;int end len - 1;int mid 0;int temp 0;while(start<end){mid (startend)/2;if(nums[mid]>target){end mid - …

縮略圖不變形

Public Shared Sub MakeSmallImg(ByVal postFile As System.Web.HttpPostedFile, ByVal saveImg As String, ByVal Width As System.Double, ByVal Height As System.Double) Dim originalFilename As String postFile.FileName 生成的高質量圖片名稱 Dim strGo…

spring boot druid 監控沒有sql記錄

2019獨角獸企業重金招聘Python工程師標準>>> 1 之前配置了 druid的監控 但是 調用查詢后 監控沒有記錄&#xff0c;查了下原因 發現是因為依賴打入錯誤 <dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starte…

noip2014聯合權值

http://codevs.cn/problem/3728/ 我們要做的是計算距離為2的有序對權值之和及最大值&#xff0c;最大值好弄&#xff0c;但一一枚舉是不可行的&#xff0c;因為n<200000&#xff0c;我們可以預處理一下&#xff0c;每次讀入邊的時候我們把與當前頂點有邊相連的所有點的權值中…

11月30在spring mvc中使用Validator框架和文件上傳

首先回顧了spring mvc中的表單驗證和業務邏輯校驗失敗后&#xff0c;回到表單頁面中顯示錯誤信息的整個內部運行流程。表單校驗出錯后回到表單注冊頁面是由默認的SimpleFormController的processFormSubmission方法自動完成的&#xff0c;王濤忘記這一點&#xff0c;他們覆蓋了p…

MapReduce其他功能

1&#xff0e; 計數器應用計數器是用來記錄job的執行進度和狀態的。MapReduce 計數器&#xff08;Counter&#xff09;為我們提供一個窗口&#xff0c;用于觀察 MapReduce Job 運行期的各種細節數據。對MapReduce性能調優很有幫助&#xff0c;MapReduce性能優化的評估大部分都是…

用樹莓派和PC機搭建多節點私人以太坊網絡

發現國內很少有樹莓派和電腦組建的私人區塊鏈&#xff0c;所以在自己做實驗的過程中記錄下來分享給大家,第一次寫博客&#xff0c;哈哈 以太坊私有鏈搭建&#xff08;電腦&#xff0c;樹莓派端都適用&#xff09; &#xff08;1&#xff09;新建一個文件夾&#xff0c;例如myc…

CentOS6 YUM安裝MariaDB10.3.10

1、先新增加一個MariaDB.repo vi /etc/yum.repos.d/MariaDB.repo[mariadb] name MariaDB baseurl http://mirrors.ustc.edu.cn/mariadb/yum/10.3/centos6-amd64/ gpgkey http://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck1 官網地址特別慢&#xff0c;所…

統一配置數據庫連接符的方法

統一配置數據庫連接符的方法 統一配置數據庫的方法一.Web.config(應用方便,安全性差)1.Web.config文件<appSettings><add key"strconn" value"serverlocalhost;databasedlcusmgt;uidsa;pwd"/></appSettings>2.調用文件dim strconn as st…

JIRA的text編輯模式

無意中看到了開發經理描述的一個缺陷&#xff0c;descrption里添加了圖片&#xff0c;添加了代碼&#xff0c;格式非常規整 嘗試了圖片是可以插入的&#xff0c;但是代碼不知道怎么插入的&#xff0c;于是問了下他&#xff0c;當然非常詳細的截圖拋過來了&#xff0c;告訴我詳細…

FusionInsight LibrA V100R002C80SPC300安裝指南

FusionInsight LibrA是企業級的大規模并行處理關系型數據庫。FusionInsight LibrA采用MPP(Massive Parallel Processing)架構&#xff0c;支持行存儲與列存儲&#xff0c;提供PB(Petabyte&#xff0c;2的50次方字節)級別數據量的處理能力。FusionInsight LibrA在核心技術上跟傳…

女人跳槽:最重要的是你的獨立,你的快樂

工作并非證明女人活著的唯一證據。尤其是眼下這一個工作。或者是因為追求更好&#xff0c;或者是因為放棄更壞。一份工作如同一段感情&#xff0c;你不要它&#xff0c;說明它不夠好到留住你。沒有婚姻好過壞的婚姻&#xff0c;沒有工作好過讓你天天流淚的工作。如果實在不滿意…

云托管,邊緣物理計算托管物理計算,你所需要了解的……

隨著業務發展&#xff0c;傳統數據中心建設復雜性越來越高&#xff0c;基建的管理、設備的繁雜、人力成本的提升&#xff0c;是否讓你的運維成本越來越高&#xff1f;企業生產效率卻越來越低&#xff1f; 業務快速發展&#xff0c;設備采購周期冗長&#xff0c;大量采購造成CAP…

閑話WPF之十(Dependency屬性 [2] )

在前一個Post中&#xff0c;曾提到將要重點研究Dependency屬性的三個方面&#xff1a;變化通知&#xff1b;屬性值的繼承&#xff1b;支持多個提供對象。下面&#xff0c;我將分別就這三個內容進行簡單地說明。【變化通知】 在任何時候&#xff0c;只要Dependency屬性的值發生了…

1037 Magic Coupon

題目鏈接&#xff1a;https://pintia.cn/problem-sets/994805342720868352/problems/994805451374313472 這個題目有毒&#xff0c;開始我的while判斷是使用的相乘大于0這種判斷方式&#xff0c;但是最后一個案例始終過不了&#xff0c;可能是因為越界了&#xff0c;但是越界的…

利用解構賦值獲取后端特定字段數據

很多時候&#xff0c;后端接口傳過來的數據并不正好是我們需要的。有些場景下會有很多不需要的字段。 這時如果采用單個賦值的方法賦值數據無疑會比較麻煩。解決的辦法就是利用解構賦值。 mounted(){let objs {name:test,sex:nan,caree:kaifa,height:180,country:country};({na…

理解ORACLE數據庫字符集

一&#xff0e;引言 ORACLE數據庫字符集&#xff0c;即Oracle全球化支持(Globalization Support)&#xff0c;或即國家語言支持&#xff08;NLS&#xff09;其作用是用本國語言和格式來存儲、處理和檢索數據。利用全球化支持&#xff0c;ORACLE為用戶提供自己熟悉的數據庫母語環…

軟件設計師09-面向對象-用例圖

感謝任鑠老師滴視頻 用例圖 1&#xff09;描述一組用例、參與者及它們之間的關系 2&#xff09;用例模型用于需求分析階段 3&#xff09;關系&#xff08;依賴關系&#xff09;&#xff1a;1&#xff09;包含&#xff08;include&#xff09; 1&#xff09;兩個以上用例具有共同…

利用正則表達式截取特定字符中間字符

有如下場景&#xff0c;已知一個長字符串&#xff0c;需要獲取指定字符串之間的字符。 // 已知字符串 var str body908888huhuc實測實《hu需要body和《hu之間的字符串。定義正則表達式。 var reg /(?<body).(?《hu)/;上述正則表達式利用了&#xff1a;獲取指定字符串之后…

資源的積累

最近整理機器里邊的各種文檔&#xff0c;進行異地備份&#xff0c;整理后&#xff0c;看了看尺寸&#xff0c;天呀&#xff0c;竟然有855M&#xff0c;主要是各種文檔、圖片和代碼等非2進制的東東。我按照日期整理了一下&#xff0c;最久的大概是在2003年&#xff0c;公司是在2…