實現乙個命令列程式,要求:
根據題目要求,本週專案需要達到的內容主要有以下幾個方面:
1、自動生成分數
2、能夠進行帶分數式子的中綴式轉字尾式
3、能正確進行計算並輸出最終結果
4、能夠讀取使用者輸入的分數並與正確結果進行比較
①表示式的產生:
用random
產生隨機數,共需要三個隨機數,其一用於決定生成的式子中是否含有分數,第二個隨機數用於分子,第三個隨機數用於分母。
參考教材中的**生成乙個新的類rational
,用於設定分數的分子分母並進行分數的加減乘除運算。
呼叫rational
將第一部生成的隨機數讀入分數中並進行計算的返回結果。
②表示式的輸出:
使用迴圈輸出,在整數式子的基礎上進行修改,同樣要保證數的個數比運算子多乙個:
if (j <= a)
else
系統生成的表示式已經存入了字串question1
中,下一步需要將字串轉化為字尾式並求值,這樣才能與使用者輸入的數字比對,判斷是否正確.我們參考了老師提供的**,新建了乙個mydc
類,用於將帶分數的中綴式轉化為字尾式並呼叫rational
類中的方法進行計算:
public class mydc
public string evaluate (string expr)
else
}return result;//輸出結果
}private boolean isoperator (string token)//判斷是否為運算子,注意用equal語句比較字串
private string evalsingleop (char operation, rational op1, rational op2) //分數運算
return result.tostring();
}public rational tranintorational (string s)
else
return r;}}
該步修改較為簡單,我們將上週double
型別的right
改為了string
型別的dui
,將正確答案以string
型別讀入,並呼叫equals()
方法將使用者輸入的字串與正確答案進行比對:
string dui =""; //代表正確答案dui
dui = dui + evaluator.evaluate(question);
scanner reader2 = new scanner(system.in);
string answer = reader2.nextline(); //讀取使用者輸入的答案
if(answer.equals(dui))
else if(!answer.equals(dui))
該步並沒有太大修改,與上週一樣,在程式開頭定義int型變數count
並將其初值定為0,如果計算正確在輸出正確時的輸出時count++
,整個迴圈結束之後,(正確題數count
÷總題數x
×100)%就是正確率lv
。
float lv=count*100/x; //正確率
system.out.println("測試結束!正確率為:"+lv+"%");
if (j <= a) else
下面是在分數後面加空格的**:
if(ch >= '0' && ch <= '9' && ch1 == '/'&&ch2>='0'&&ch2<='9')
修改這兩部分的**後,執行結果如下圖。可以看到不管是運算子還是分數,中間都有空格間隔。
這週的程式設計過程中我們配合明顯比之前好得多,我們在**編寫過程中進行了分工並各司其職。在我們各自的**都編寫完後我們一起進行了**整合,出現問題後他負責逐步除錯查詢問題,我負責解決問題修改**,他也會提出一些有效的解決方法,使我們的專案得以順利進行。部落格的編寫我們也進行了分工,這使得我們的學習效率大大提公升了。總的來說我的夥伴是乙個優秀的合作夥伴。
psp2.1
personal software process stages
預估耗時(分鐘)
實際耗時(分鐘)
planning
計畫· estimate
· 估計這個任務需要多少時間
1015
development
開發· analysis
· 需求分析 (包括學習新技術)
3060
· design spec
· 生成設計文件
2020
· design review
· 設計複審 (和同事審核設計文件)
1015
· coding standard
· **規範 (為目前的開發制定合適的規範)
2030
· design
· 具體設計
3030
· coding
· 具體編碼
120300
· code review
· **複審
3050
· test
· 測試(自我測試,修改**,提交修改)
3060
reporting
報告· size measurement
· 計算工作量
1015
· postmortem & process improvement plan
· 事後總結, 並提出過程改進計畫
1525
合計325
620
結對程式設計專案 四則運算
實現乙個帶有使用者介面的四則運算。生成的題目不能重複。支援負數,例如 1,1 2,3 4 5等。題目的數量 個人專案的要求 數值的範圍 題目中最多幾個運算子 題目中是否有乘除法 題目中或運算過程中有無負數 根據老師的要求我們做的程式中解決了以上的問題。因為在第一次製作的四則運算中我的 就已經製作了乙...
結對程式設計專案 四則運算
結對程式設計專案 四則運算 小組成員 王浩淳 基本功能 1 實現乙個帶有使用者介面的四則運算。2 生成的題目不能重複。3 支援負數。需要支援的基本設定引數 1 題目的數量 2 數值的範圍 3 題目中最多幾個運算子 4 題目中或運算過程中有無有分數 5 題目中是否有乘除法 6 題目中是否有括號 7 題...
結對程式設計專案 四則運算 總結部落格
實現乙個命令列程式,要求 根據題目要求,本週專案需要達到的內容主要有以下幾個方面 1 自動生成分數 2 能夠進行帶分數式子的中綴式轉字尾式 3 能正確進行計算並輸出最終結果 4 能夠讀取使用者輸入的分數並與正確結果進行比較 表示式的產生 用random產生隨機數,共需要三個隨機數,其一用於決定生成的...