本作业要求来自于: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、判断对错
最后,有什么不对或者需要改进的地方,欢迎指正哦~