Java結對編程四則運算一周小結
需求分析
- 對於四則運算來說最主要的就是要計算出產生的式子(字符串的形式)。
設計思路
- 總體可將這個項目分解為幾個部分:產生式子,計算式子,判斷對錯並記錄;
- 具體的思路:
- 要產生隨機數;
- 在產生隨機數的時候就要產生隨機的運算符;
- 在產生數字與運算符時最后一個數字之后就不能再產生運算符(運算符的數量始終比數字少1);
- 在一個式子中要多次產生隨機數與運算符因此要用到循環;
- 在循環結束時就產生了一個式子就要求進行計算與輸入;
- 在輸入完之后就要判斷對錯,統計正確率;
- 又因為要產生多個式子就有需要一個循環,加上產生式子的循環,就需要一個雙循環。
實現過程中的關鍵代碼解釋
- 1.產生式子時的循環
for (int i = 0; i < num1; i++) {
for (int j = 0; j < num2; j++) {
//產生20及其以內的數字
Random a = new Random();
int p = a.nextInt(20);
System.out.print(p);
Problem += p + "";
//產生運算符
String peo[] = {"+", "-", "*", "/"};
//最后一個數字之后沒有運算符。
int p2 = a.nextInt(4);
if (j < num2 - 1) {
System.out.print(peo[p2]);
Problem += peo[p2];
}
}
這段代碼花費了大量的時間主要是第一點在雙循環是情況比較復雜在計數要用哪個循環的變量,還有語句放置的問題都存在較大的問題.其中的if語句是用來判斷是否輸出的的式子時最后一個如果是就不再產生運算符.還有一個變量String類型的Problem這個變量是很重要的變量它將產生的數字與運算符一一記錄下來最后生成一個式子,用於計算.
- 2.實現的類
import java.util.Scanner;
public class Calc extends Calculate
{
public static void main(String[] args) {
//確定輸出的式子的個數。
Scanner scan = new Scanner(System.in);
System.out.println("你想輸出幾個式子:");
int num1 = scan.nextInt();
//確定幾個數字參加運算
System.out.println("你想要幾個數字參加運算;");
int num2 = scan.nextInt();
//輸出式子
Problem problem =new Problem();
problem.Problem(num1,num2);
}
}
這個類是最終運行時運行的類里面有主函數主要用於確定幾個數字參加運算與式子的個數。
運行過程截圖
代碼托管地址
遇到的問題及其解決方法。
- 問題1 如何記錄產生的式子
解決:我去網上找了很多類似的代碼之后沒有發現好的方法,最后我在計算加法時得到啟示就用來類似求和時的辦法來求出最后的式子。 - 問題2 如何解決無法產生括號的問題,就是當除不盡時的計算的誤差大?
這個問題還沒有找到很好的方法來解決。
對結對的小伙伴做出評價
- 結對伙伴: 20162312 張家鋮
結對伙伴的思維比較活躍,在寫代碼遇到困難時有助於我做出突破;
但是也是比較粗心,而且對於時間的把握還有待改善。最主要的是在寫代碼的注釋的時候有些時候有些難懂;
PSP
PSP2.1 | Personal Software Process Stages | 預估耗時(小時) | 實際耗時(小時) |
---|---|---|---|
Planning | 計划 | 1 | 1 |
· Estimate | · 估計這個任務需要多少時間 | 20 | 20 |
· Analysis | · 需求分析 (包括學習新技術) | 1 | 3 |
· Design Spec | · 生成設計文檔 | 0.5 | 0.5 |
· Design Review | · 設計復審 (和同事審核設計文檔) | 1 | 0.5 |
· Coding Standard | · 代碼規范 (為目前的開發制定合適的規范) | 1 | 0.5 |
· Design | · 具體設計 | 2 | 3 |
· Coding | · 具體編碼 | 2 | 4 |
· Code Review | · 代碼復審 | 2 | 1 |
· Test | · 測試(自我測試,修改代碼,提交修改) | 2 | 1 |
Reporting | 報告 | 1 | 1.5 |
· Test Report | · 測試報告 | 2 | 2.5 |
· Size Measurement | · 計算工作量 | 0.5 | 0.5 |
· Postmortem & Process Improvement Plan | · 事后總結, 並提出過程改進計划 | 1 | 1 |