第二周個人作業WordCount
一、GitHub地址
https://github.com/JasonLiu1105/WordCount
二、PSP表格
PSP2.1 |
PSP階段 |
預估耗時 (分鐘) |
實際耗時 (分鐘) |
Planning |
計劃 |
20 |
20 |
· Estimate |
· 估計這個任務需要多少時間 |
2days |
3days |
Development |
開發 |
1day |
1day |
· Analysis |
· 需求分析 (包括學習新技術) |
240 |
240 |
· Design Spec |
· 生成設計文檔 |
20 |
20 |
· Design Review |
· 設計復審 (和同事審核設計文檔) |
-- |
-- |
· Coding Standard |
· 代碼規範 (為目前的開發制定合適的規範) |
-- |
-- |
· Design |
· 具體設計 |
60 |
60 |
· Coding |
· 具體編碼 |
1 |
2 |
· Code Review |
· 代碼復審 |
180 |
180 |
· Test |
· 測試(自我測試,修改代碼,提交修改) |
120 |
120 |
Reporting |
報告 |
30 |
60 |
· Test Report |
· 測試報告 |
60 |
120 |
· Size Measurement |
· 計算工作量 |
30 |
20 |
· Postmortem & Process Improvement Plan |
· 事後總結, 並提出過程改進計劃 |
30 |
60 |
|
合計 |
2days |
3days |
三、解題思路
1.拿到題目以後,先選擇一個合適的語言進行編寫
2.根據題目中所給的基本功能,先著手將基本功能實現,再進行相應的擴展功能
3.對於程序中可能會用到的java的知識點,要提前進行了解
4.上網查找跟題目要求功能有相似的java 程序,很好的了解明白後,再根據題目進行開發
四、程序設計實現過程
本程序使用了一個類WordCountX,然後將各種相關方法寫入(在代碼開發的過程中發現只寫到一個類裏會讓代碼過於復雜,當後期對程序進行修改的時候比較費力)。通過主函數中調用各方法實現要求功能
五、代碼說明
主函數
public class WordCountX {
public static void main(String[] args){
// String inPath = "/Users/jason/Desktop/1.txt"; //文件名
String outPath="result.txt"; //輸出文件名,默認為result.txt
int line=0;
int num=0;
int letter=0;
int space=0;
int word=0;
boolean c = false;
boolean w = false;
boolean l = false;
boolean o = false;
boolean a = false;
boolean e = false;
boolean s =false;
String inPath=null;
String stopPath=null;
/**
* 統計數字數
* @param str
* @return
*/
public static int countNumber(String str)
/**
* 統計字母數
* @param str
* @return
*/
public static int countLetter(String str)
/**
* 統計漢字數
* @param str
* @return
*/
public static int countChinese(String str)
/**
*統計不同類別行數
*@return int[]//代碼,空白,註釋
* @param
*/
public static long[] coutDiff(String line)
/**
* 統計空格數
* @param str
* @return
*/
public static int countSpace(String str)
/**
*包含stopLists
*@param
*@return int
*/
static int countStopWords( BufferedReader thefile,String txt)
/**
*輸出到文件
*@param str,path
*@return
*/
public static void printToFile(String filepath,String str)
六、測試設計過程
1、未能寫出測試腳本,而是在Terminal進行測試,共產生如下10個測試用例。
在終端中進行測試
(註意:每次進行“-c或-w或-l的操作時所有結果都會輸出在終端裏,只是在result.test裏分別顯示”)
Last login: Tue Mar 20 16:03:01 on ttys001 MrniudeMacBook-Pro:~ jason$ java -jar /Users/jason/Documents/GitHub/WordCount/out/artifacts/WordCountX_jar2/WordCountX.jar /Users/jason/Desktop/1.txt -c -w -l
/Users/jason/Desktop/1.txt, 行數:49 /Users/jason/Desktop/1.txt, 字符數:2004 /Users/jason/Desktop/1.txt, 單詞數:9
Last login: Tue Mar 20 16:03:01 on ttys001
MrniudeMacBook-Pro:~ jason$ java -jar /Users/jason/Documents/GitHub/WordCount/out/artifacts/WordCountX_jar2/WordCountX.jar /Users/jason/Desktop/1.txt -c -w
Last login: Tue Mar 20 16:03:01 on ttys001
MrniudeMacBook-Pro:~ jason$ java -jar /Users/jason/Documents/GitHub/WordCount/out/artifacts/WordCountX_jar2/WordCountX.jar /Users/jason/Desktop/1.txt -w -l
Last login: Tue Mar 20 16:03:01 on ttys001
MrniudeMacBook-Pro:~ jason$ java -jar /Users/jason/Documents/GitHub/WordCount/out/artifacts/WordCountX_jar2/WordCountX.jar /Users/jason/Desktop/1.txt -w -l
數字數:282
Last login: Tue Mar 20 16:03:01 on ttys001
MrniudeMacBook-Pro:~ jason$ java -jar /Users/jason/Documents/GitHub/WordCount/out/artifacts/WordCountX_jar2/WordCountX.jar /Users/jason/Desktop/1.txt -c -l
數字數:282
MrniudeMacBook-Pro:~ jason$ java -jar /Users/jason/Documents/GitHub/WordCount/out/artifacts/WordCountX_jar2/WordCountX.jar /Users/jason/Desktop/1.txt -c
/Users/jason/Desktop/1.txt, 字符數:2004
MrniudeMacBook-Pro:~ jason$ java -jar /Users/jason/Documents/GitHub/WordCount/out/artifacts/WordCountX_jar2/WordCountX.jar /Users/jason/Desktop/1.txt -w
/Users/jason/Desktop/1.txt, 單詞數:9
MrniudeMacBook-Pro:~ jason$ java -jar /Users/jason/Documents/GitHub/WordCount/out/artifacts/WordCountX_jar2/WordCountX.jar /Users/jason/Desktop/1.txt -l
/Users/jason/Desktop/1.txt, 行數:49
Last login: Tue Mar 20 16:54:05 on ttys001 MrniudeMacBook-Pro:~ jason$ java -jar /Users/jason/IdeaProjects/WordCountX/out/artifacts/WordCountX_jar2/WordCountX.jar -c -l -a -w -o /Users/jason/Desktop/21.txt /Users/jason/Desktop/1.txt
/Users/jason/Desktop/1.txt, 代碼/空白/註釋:48/1/0
MrniudeMacBook-Pro:~ jason$ java -jar /Users/jason/Documents/GitHub/WordCount/out/artifacts/WordCountX_jar2/WordCountX.jar /Users/jason/Desktop/1.txt -e stopList.txt // 停用詞表,統計文件單詞總數時,不統計該表中的單詞
七、參考文獻鏈接
http://blog.csdn.net/u013177799/article/details/76062976
https://www.cnblogs.com/wangcp-2014/p/5851986.html
http://blog.csdn.net/u010137431/article/details/46823293
https://stackoverflow.com/questions/4330936/how-can-i-convert-a-jar-to-an-exe
八、作業改進
還有唯一的附加功能-s沒有及時實現,但由於時間原因,必須今晚提交博客,所以會在後期抓
第二周個人作業WordCount