小組成員:
201521123055 林一心 部落格位址
201521123046 張杭鏢 部落格位址
專案位址
原程式只能生成兩個數之間的算式,並且分數與整數算式出現機率沒設定正確。
單元測試需要修改,因為新增了多個數字的運算。
增加了括號運算子,相應的計算函式也要新增括號運算子的處理,原**把計算過程放在main生成算式的main類中處理,擴充套件功能後**顯得臃腫,因此單獨把計算功能拉出來做乙個calculator類。(這個計算功能同樣也支援多位整數的計算,以便小學生公升級到高階地獄)
核心**:
生成題目
public main()//生成四則運算並輸出
catch(exception exception)
trycatch(numberformatexception e)
int m = (int)(math.random()*n+1);//隨機整數題目和分數題目的題量
for(int j=0;j
question.add(qustr.tostring());
calculator cal=new calculator();
answer.add(""+cal.caculate(qustr.tostring()));
}for(int j=0;j0)
else
else
}answer.add(a+"");
}else
else
else
}answer.add(a+"");}}
if(op==3)
else
answer.add(a+"");
}if(op==4)
else
answer.add(a+"");}}
//輸出題目
jtextarea0.settext("");
for(string string : question)
}
計算
public class calculator else
// 判斷運算子的優先順序,若當前優先順序低於棧頂的優先順序,則先把計算前面計算出來
while (!comparepri(ch) && !symbolstack.empty())
} // while迴圈結束
if (ch != '=') }}
} // for迴圈結束
return numberstack.pop(); // 返回計算結果
}private string removestrspace(string str)
private boolean isstandard(string numstr)
// 將左括號壓棧,用來給後面的右括號進行匹配
if ("(".equals(n + ""))
if (")".equals(n + ""))
// 檢查是否有多個'='號
if ("=".equals(n + ""))
}// 可能會有缺少右括號的情況
if (!stack.isempty())
return false;
// 檢查'='號是否不在末尾
if (!("=".equals(numstr.charat(numstr.length() - 1) + "")))
return false;
return true;
}private boolean isnumber(char num)
private boolean comparepri(char symbol)
char top = (char) symbolstack.peek();
if (top == '(')
// 比較優先順序
switch (symbol)
case '/':
case '+':
return false;
case '-':
return false;
case ')': // 優先順序最低
return false;
case '=': // 結束符
return false;
default:
break;
}return true;}}
執行結果:
效能分析:
兩個人結對程式設計跟單人程式設計相比確實有些優勢,可以跟隊友隨時討論這點很重要,溝通使得問題快速解決,有時候自己有些小問題轉不過來是真的難受。。但是不管如何,前提都是要事前把整個專案過程弄清楚,最好能寫下來解決步驟。
psp2.1
個人開發流程
預估耗費時間(分鐘)
實際耗費時間(分鐘)
planning
計畫15
8estimate
明確需求和其他相關因素,估計每個階段的時間成本104
development
開發120
140analysis
需求分析需求分析 (包括學習新技術)
1010
design spec
生成設計文件00
design review
設計複審108
coding standard
**規範22
design
具體設計
1015
coding
具體編碼
4060
code review
**複審
2010
test
測試(自我測試,修改**,提交修改)
1515
reporting
報告1512·
測試報告22
·計算工作量
1510
·並提出過程改進計畫105
結對 結對編專案作業名稱 設計文件
專案名稱 五子棋遊戲 成員 馬文婷 崔文龍 開發環境 谷歌瀏覽器 hbuilder 實現功能 1.人人對戰,兩人輪流出手,黑棋先行 2.某方獲勝後彈窗提示 最好是在規定的時間裡 3.棋子布滿棋盤,切雙方都沒有連成五子,則判定為和棋。4.設定背景 及棋盤顏色 5.五子棋專用盤為 15 15 五連子的方...
結對 結對程式設計專案作業名稱 結對專案總結
這個學期的軟體工程的結對是做乙個專案,因為自己對於其他程式語言對h5稍稍有些自信,所以選擇了五子棋遊戲來開發,經歷了有歡笑又謎團,這個 簡易 對我和金鵬而言並不簡單 的五子棋終於開發完成。開發過程中,居然其他顏色的棋子能覆蓋上!這個就想了一周。由於我自己的能力有限,反覆翻了很多網頁去學習,所以我和金...
《結對 結對程式設計專案作業名稱 結對專案總結》
結對人員 張鴻程,喻正博 需求分析 通過遊戲開發,益智遊戲屬於休閒類遊戲,具有上手快 遊戲時間短的特點,更利於使用者進行 放鬆休閒,為人們所喜愛,特別是益智類遊戲,方便 快捷 操作簡單,在休閒娛樂中佔主要 位置。貪吃蛇作為中國自古以來的經典小遊戲之一,一直都是人之間的較量,將貪吃蛇製作成遊戲,可以實...