FAO項目的碼雲連接;html
一、Git提交日誌已經實現一個功能/一個bug修復的註釋說明,如圖所示;java
二、測試代碼並未上傳;git
三、主類位於Main.java中;算法
四、如有修改,仍會更新;編程
以前在20165325 2017-2018-2 《Java程序設計》結對編程_第一週:四則運算裏面已經對需求分析做出了整體的闡述,在此不做贅述。上一週,咱們小組已經實現了在一個命令行程序中:dom
因此咱們本週的主要任務(要實現的需求)是:測試
以前在20165325 2017-2018-2 《Java程序設計》結對編程_第一週:四則運算裏面已經指出了「如何計算帶整數、多運算符、真分數的小學四則運算題目」的設計思路,在這裏我主要分析關於如何實現本次需求的設計思路。.net
要隨機生成一個四則運算題目,其整體思路大體分兩種:命令行
比較這兩種思路,我認爲後者更加有利於括號的生成:當咱們隨機生成了一個後綴表達式,只須要逆向的求出計算順序,即在正確的位置生成括號,從而生成相應的中綴表達式。設計
關於後者,我據說孫勖哲同窗在網上找到了相似的代碼,我以後會問他要連接,補充在這裏。(我選擇用前者實現的緣由,主要是......怎麼生成後綴表達式我沒想到什麼好算法,在網上也沒找到。)
關於前者,如何隨機生成一箇中綴表達式,個人主要設計思路是:
咱們小組以上述思路爲指導,設計了Teacher類:
CreStr(int n)
方法隨機生成一個String
類包含n個加減乘除運算符;InpNum()
方法在運算符之間以及表達式的開頭結尾隨機插入數字,造成一個沒有括號的中綴表達式;InPar()
方法隨機產生括號;DelPar()
方法識別而且去掉沒有意義的括號;CreQue(int n)
方法順序執行上述方法,產生題目;Student類的主要功能應該是包括:
綜上所述,Student類的設計思路以下:
Answer(StringBuffer que)
輸入答案而且覈對答案是否正確;getPro()
統計正確率;這一週的結對編程比起上一週更難的地方在於思路的設計,對於怎麼產生一箇中綴表達式,咱們討論了好久,一再地改進算法。雖然最後的算法不是最理想的設計(不是先產生後綴表達式),可是咱們很開心,由於程序徹底是咱們本身設計的,也是咱們本身一點點寫的。最後統計一下,不加上測試代碼,大約有600餘行,有一點點成就感吧。
rand.nextInt(n)
裏面的參數n是產生一個0 <= nextInt(n) < n的隨機數,即0~n-1,參考連接rand.nextint()
須要注意rand是Random
產生的對象,Random
要用import java.util.Random;
引入。