本作業要求來自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213
我的遠端github位址為:https://github.com/lawnlawn/ruanjiangongcheng/tree/master/studentFormulaWeb/studentFormularWeb
一、程式基本要求
-
- 自動生成題目,單個題目最多不能超過4個運算符,操作數小于100。
- 使用者可以輸入答案
- 若使用者輸入答案正确,則提示正确;若答案錯誤,則提示錯誤,并要提示正确答案是多少。
二、四個擴充方向
-
- 使用者答題結束以後,程式可以顯示使用者答題所用的時間;(黃泳棋)
- 使用者可以選擇出題的個數(最多不能超過5個題目),答題結束可以顯示使用者答錯的題目個數和答對的題目個數;(沈淑)
- 程式可以出單個整數階乘的題目:如:4!=24;(沈淑)
- 程式可以設定答題時間,時間設定為整數,機關為秒,最大不能超過120秒,若超過了答題時間未答題,則提示:時間已到,不能答題。(黃泳棋)
三、時間記錄表
PSP2.1 | Personal Software Process Stages | Time Senior Student(h) | Time(h) |
Planning | 計劃 | ||
· Estimate | 估計這個任務需要多少時間 | 14.3 | 12.3 |
Development | 開發 | 2 | 1.3 |
· Analysis | 需求分析 (包括學習新技術) | 0.2 | 0.3 |
· Design Spec | 生成設計文檔 | ||
· Design Review | 設計複審 | ||
· Coding Standard | 代碼規範 | ||
· Design | 具體設計 | ||
· Coding | 具體編碼 | 6 | 5 |
· Code Review | 代碼複審 | 1 | |
· Test | 測試(自我測試,修改代碼,送出修改) | ||
Reporting | 報告 | ||
Test Report | 測試報告 | ||
·workload | 計算工作量 | ||
·correction | 并提出過程改進計劃 |
四、結對過程
1、結對成員
-
- 本人——沈淑:負責編碼擴充兩個方向,網頁的設計與編碼,調試
- 隊友——黃泳棋(https://www.cnblogs.com/lawn/p/9838093.html):負責編碼另外兩個方向,前端與後端代碼的整合,調試
2、結對開發環境
-
- Google浏覽器
- IDEA開發軟體
3、擴充方向
4、結對收獲
-
- 跟隊友的合作不是第一次了,是以默契還是有的,分工可以比較明确,也比較知道各自的強項,好安排任務
- 覺得做這個項目綜合了很多以前的知識,可以對舊知識進行回顧
- 可能是對項目的開發經驗不足,有些地方考慮不周全
- 一些技術還不是很成熟,就導緻項目進行的時候會有一些阻礙
5、結對學習照片

五、部分源代碼
1、階乘實作的部分代碼
result=1;//初始化result為1
jiecNum=random.nextInt(100)+1;
fomula=jiecNum+"!=";
for(int i=jiecNum;i>0;i--){
result*=i;
}
2、判斷答案對錯的部分代碼
function trueOfFalse() {
clearInterval(timer);
var startTime = <%=session.getAttribute("time")%>;
var endTime = second;
var totalTime = startTime - endTime;
<%
String an= String.valueOf(session.getAttribute("ans"));
String[] answer ;
answer= an.split(",");
int k=0;
for(int j=0;j<5;j++){
if(answer[j].equals("dd")){
k++;
}
}
%>
var an = new Array(5);
var rAn = new Array(5);
for (var i = 0; i <<%=session.getAttribute("nums")%>; i++) {
an[i] =document.getElementById("formularAn" + i).value;
document.getElementById("a" + i).style.display = "flex";
}
var rTi=0;
<% for(int i=0;i<5-k;i++){%>
rAn[<%=i%>]=<%=answer[i]%>;
if ( an[<%=i%>] == rAn[<%=i%>] ) {
document.getElementById("tof" + <%=i%>).innerHTML = " <i class=\"fa fa-check fa-lg mt-4\" style='font-size: 1.3125rem;'>正确答案是:</i>"
rTi++;
} else {
document.getElementById("tof" + <%=i%>).innerHTML = " <i class=\"fa fa-remove fa-lg mt-4\" style='font-size: 1.3125rem;'>正确答案是:</i>"
}
<%}%>
alert("您用時為:"+totalTime+"秒!正确題數為:"+rTi+"題,答錯題數為:"+(<%=session.getAttribute("nums")%>-rTi));
}
六、運作頁面的截圖
1、首頁面
2、出題頁面
3、答題結束彈框
4、判斷對錯
最後,有什麼不對或者需要改進的地方,歡迎指正哦~