2016012066+小學四則運算練習軟件項目報告


代碼:https://git.coding.net/Thomaskang/sizeyunsuan.git

先來一張圖片緩解下鴨力。

 

1、需求分析

做一個小學生四則運算

(1)接受需要的題目數量

(2)0到100之間的整數

(3)每個題至少兩種運算符

(4)不能出現負數和非整數

(5)輸出到一個txt文件中

2、功能設計

  用戶交互功能:用於用戶輸入題目數量和獲得運行后的題目文件(包括答案)的文件下載按鈕

  后台功能:實現各類實際的需求分析得用戶需求

      接受需要的題目數量

      0到100之間的整數

      每個題至少兩種運算符

      不能出現負數和非整數

前后台交互功能:怎樣連接前后台

錯誤提示功能:在用戶輸入不規范等情況下提示錯誤信息

3、設計實現

用戶交互功能:簡單的前台頁面html+css

后台功能:

(1)接受題目數量,前台jsp傳遞通過servlet跳轉傳遞到后台,java類通過參數接收

(2)產生四個隨機數類,得保證在0到100之間,不能有負數和非整數

(3)產生四個隨機字符類,並且對個數和種類得有限制

(4)計算類,運用Java的String中的eval方法進行計算,避免優先級判斷

(5)運用io流文件輸出到一個txt文件中

前后台連接:jsp+servlet

錯誤提示功能:用前台js正則表達式進行限制提醒

4、算法詳解:

對於優先級問題沒必要去討論,java提供了對於Sting里面的數字運算的方法,自動處理里面的優先級,eval()方法,把計算表達式轉換成string進行計算出結果再輸出。這是我原本的想法。接下來,想講下我的辛酸歷程。

有一句話是理想很豐滿,現實很骨感。最后我沒有實現這個功能的全部,僅僅實現了它的一部分,因為在我測試運行的時候出錯了。

在這兒我糾結了將近半天,翻了各種博客,做各種測試,最后的結果是,在一到兩條數據的時候是可以運算的,但當數據循環多了反而不行了,真的很懵。

簡述下關於這點的想法,引入JavaScript的 各種包,然后用eval方法。

將每次拼接的表達式放在字符串里面。用ArrayList包容,然后遍歷的去計算,計算后再用ArrayList去接收。

之后用io類進行輸出。

 

5、測試運行

  1、接收題目數量和學號:通過servlet傳遞跳轉,有點多次一舉,原本是想要為了更好的用戶體驗。

  

  

   2、產生四個隨機數;

   

   3、運算符,這點我覺得寫得不錯,我考慮到了每個運算符出現的概率應該相等。

    

  4.計算結果,雖然沒有完全做完,但我認為我的想法是沒錯的。也貼一些我的運行結果。

  

 

5、出題:

    

 

7、io輸出:

      

  

6、滿意代碼片段

敲了的代碼都挺滿意的。

最滿意的可能就是考慮到了運算符的出現概率和用戶體驗那一塊。

 

7、總結

  總得來說,整個敲代碼的過程其實不是很難,有想法,而且做起來邏輯挺清晰的。

  但最后沒有完成的原因,一是因為忙工作室和其他事情把作業拖到了最后時間不夠,二是自己對於某些函數的了解程度和編碼程度都還不夠。

  也算是給自己一個警示吧,做一個東西得做好准備,而且得要對面臨的問題又應對措施。

  在計算那一步花了很多時間還沒弄出來的時候就應該換思路了,不能鑽牛角尖下次。

  給自己留夠時間。

8、展示PSP

 

任務內容

計划完成需要的時間(min)

實際完成需要的時間(min)

計划

30

60

·   估計這個任務需要多少時間,並規划大致工作步驟

800

900

開發

200

300

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

300

400

·         生成設計文檔

30

30

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

0

0

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

0

20

·         具體設計

30

30

·         具體編碼

100

150

·         代碼復審

60

0

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

60

80

報告

30

60

·         測試報告

0

0

·         計算工作量

840

1200

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

0

 

 30

關於博客的修改和補充:

          在學姐的提醒下,我對我沒有完成的功能進行了再次修改,最終完成了整個項目。

          原因在我考慮除號的時候沒有過多的考慮它產生結果的類型。

 

  找了半天終於找到了自己的問題出在了哪里,原來是在對象轉int型的時候馬虎大意出了問題。然后進行了修改。並且將有除號和沒有除號的算式分版塊進行計算。

 

 

 

 

 

 

 


免責聲明!

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



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