GitHub地址:https://github.com/SummerinSolstice/Word-Counter


wc.exe 是一個常見的工具,它能統計文本文件的字符數、單詞數和行數。這個項目實現了一個命令行程序,模仿已有wc.exe 的功能,實力所限只完成了基礎功能,給出某程序設計語言源文件的字符數、單詞數和行數。

基本功能列表:

  • wc.exe -c file.c       //返回文件 file.c 的字符數
  • wc.exe -w file.c      //返回文件 file.c 的詞的數目  
  • wc.exe -l file.c        //返回文件 file.c 的行數

PSP2.1表格

PSP2.1

Personal Software Process Stages

預估耗時(分鍾)

實際耗時(分鍾)

Planning

計划

10

15

Estimate

估計這個任務需要多少時間

10

10

Development

開發

355

520

Analysis

需求分析 (包括學習新技術)

200

300

Design Spec

生成設計文檔

10

15

Design Review

設計復審 (和同事審核設計文檔)

10

20

Coding Standard

代碼規范 (為目前的開發制定合適的規范)

10

10

Design

具體設計

20

30

Coding

具體編碼

60

90

Code Review

代碼復審

15

10

Test

測試(自我測試,修改代碼,提交修改)

30

25

Reporting

報告

20

20

Test Report

測試報告

10

10

Size Measurement

計算工作量

10

10

Postmortem&Process Improvement Plan

事后總結, 並提出過程改進計划

30

45

合計

 

445

610

拿到題目的時候很懵,對編程語言都不是熟悉,Java的話面向對象的特性使得他便於操作,所以最后選擇了用Java來寫,但是Java的API我又不熟悉,所以大部分的時候都是在嘗試各個API的用法,好多要注意的點都是慢慢摸索出來的。

思路:使用input得到目標文件的路徑,若輸入錯誤路徑則拋出錯誤,然后再傳進FileReader類里面,用BufferedReader創建一個對象,定義一個string存放.readline,把文件的內容逐行放進去一個字符串里面,再對該字符串逐個字符檢查,遇到空格就詞數+1,每使用一次readline就行數+1,每行的字符數就是String.length - 字符數 + 1,如圖:

 

實驗截圖:

test1:empty

test2:a char

test3:a word

test4:a sentence

test5:a java source

總結:這次工程讓我學到了很多東西:對於Java的熟悉程度,軟件工程開發的流程,這是我第一次系統的做出一個工程,期間碰到好多問題,一開始引用readline每一行第一個字符都會消失,找了好久才知道每次read過后指針都會指向下一個(就是第二個)字符,所以才讀不出來第一個字符,經過這次練習之后,我對軟件開發的流程有了個初步的認識,以后一定要做好准備工作再動手,不然過程中就會手忙腳亂。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM