1. 程式人生 > >第二周個人作業WordCount

第二周個人作業WordCount

dea 實現 總數 代碼 主函數 ces read tps ttys

一、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