結對程式設計專案 四則運算 第二週

2022-04-03 05:45:45 字數 2440 閱讀 3861

1.**要滿足加減乘除的運算,包含括號,支援真分數

2.物件選擇生成四則運算題目的數量

3.手動輸入結果

4.題目要可以驗證結果正確與否並統計正確率

5.要輸出檔案

6.可以支援多運算子

7.將程式的過程寫入檔案

8.最好使用棧的方式,中綴轉字尾

9.物件可以選擇題目運算子的數量決定題目的難度1.先將**的結構構建好,即先寫輸出題目的數量

2.通過for迴圈設計隨機出現的題型,包括真分數題型

3.編寫不同型別的題型並檢驗

4.編寫題目出現後的輸入及對應的語句,最後呼叫numberformat類統計正確的概率

5.通過bufferedwriter的類寫入名字為lx的txt檔案,建立乙個棧,把每次迴圈生成的題目壓入棧內

6.測試

7.編寫乙個中綴轉字尾的類並編寫測試**使用,最後加入主**中

建立棧,把for迴圈生成的題目使用list.add("題目" + (i + 1)+":");壓入

for(string i:list)

bw.close();

把每次壓入棧內的內容通過迭代器寫入檔案,並新增空行,最後關閉。

通過輸入數量決定生成題目的數量,並且題型隨機,最後統計正確率,並且檢查生成的txt檔案是否包含了對應的四則運算題目。

**託管

1.關於如何將程式執行結果寫入txt檔案的問題

解決過程:我先翻閱了教材上io流的**,裡面只教了如何通過迴圈寫入多行**,便捨棄。於是我通過網上搜尋,找到了一段**

bufferedreader br=new bufferedreader(new inputstreamreader(system.in));

system.out.print("請輸入你要儲存的字元:");

//讀取乙個文字行

string str=br.readline();

//建立乙個新的file物件

file f=new file("testio.txt");

//建立乙個新的檔案testio.txt

fileoutputstream fos=new fileoutputstream("testio.txt");

//寫到文字

fos.write(str.getbytes());

//關閉輸出流

fos.close();

通過實踐發現這種方式每次寫入一行內容都要生成乙個fos,相比書上的方法較為簡單,但仍有麻煩之處。不過為我後來的**提供了思路,這裡不得不提一下張旭公升和王彪同學,在張旭公升和王彪同學幫助下,幫我梳理了**結構,並提出了迭代器和棧的方法解決該問題,再次感謝。

這次我和小夥伴齊力鋒同學有了明確分工,我負責完善四則運算的**和分數類及其測試,齊力鋒則時寫中綴轉字尾的類和自動生成題目的類。在第一周我們設計了不用棧的方式來進行四則運算,第二週我們則另外做了乙個可以用棧方式的四則運算,所以我們用了兩種方法來完成這個題目。我認為齊力鋒同學的設計思路很有邏輯性,並且自己總結並做了中綴轉字尾的類,很厲害。我認為我們都需要更多地動手實踐,只有多做才能多學嘛。

關於搭檔的中綴轉字尾,通過深入學習,有了自己的理解。他利用了排程場演算法,先建立乙個堆疊,儲存暫時還不需要處理的運算子,根據運算子級別的高低決定順序,例如,先掃瞄級別較高的運算子,若遇見括號則先壓入,直到掃瞄到右括號再把左括號之後的所有彈出。

personal software process stages

預估耗時(分鐘)

實際耗時(分鐘)

計畫60

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

360720

生成設計文件55

設計複審 (和同事審核設計文件)55

開發30

30需求分析

2010

具體編碼

240360

測試20

30測試報告

6030

事後總結, 並提出過程改進計畫

2010

結對程式設計 四則運算 第二週

目錄 一 結對物件 二 需求分析 三 設計思路 四 核心 五 功能截圖 六 結對感受 一 結對物件 二 需求分析 取自 結對程式設計專案 四則運算 題目要求 自動生成小學四則運算題目 加 減 乘 除 支援整數 支援多運算子 比如生成包含100個運算子的題目 支援真分數 統計正確率 擴充套件要求 處理...

20165301結對程式設計專案 四則運算 (第二週)

如下所示 題目1 3 4 輸入7 正確!題目2 5 8 輸入5 6 錯誤,正確答案為 5 8 題目3 2 3 1 5 輸入7 15 正確!題目4 1 6 3 7 輸入3 42 正確!題目5 10 5 4 輸入20 錯誤,正確答案為 20 題目6 1 3 1 2 11 20 輸入55 120 錯誤,正...

結對程式設計專案 四則運算

實現乙個帶有使用者介面的四則運算。生成的題目不能重複。支援負數,例如 1,1 2,3 4 5等。題目的數量 個人專案的要求 數值的範圍 題目中最多幾個運算子 題目中是否有乘除法 題目中或運算過程中有無負數 根據老師的要求我們做的程式中解決了以上的問題。因為在第一次製作的四則運算中我的 就已經製作了乙...