作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213
GitHub地址:https://github.com/CCCCLM/CLM
结对伙伴:刘睿智 201606120032 博客地址:https://www.cnblogs.com/LRZluck/
陈力铭 201606120034 博客地址:https://www.cnblogs.com/Cclm/
一、程序基本要求
自动生成题目,单个题目最多不能超过4个运算符,操作数小于100。
用户可以输入答案
若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。
二、四个扩展方向
用户答题结束以后,程序可以显示用户答题所用的时间
用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数
程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题。
程序可以设置皮肤功能,可以改变界面的颜色即可。
用户在第一次答题时,需要用户输入用户名,用户下次启动后,程序需要记住用户前一次输入的用户名
三、时间记录表
PSP2.1 | Personal Software Process Stages | Time Senior Student(h) | Time(h) |
Planning | 计划 | 0.5 | 0.5 |
· Estimate | 估计这个任务需要多少时间 | 10 | 26 |
Development | 开发 | 1 | 1.1 |
· Analysis | 需求分析 (包括学习新技术) | 0.1 | 0.5 |
· Design Spec | 生成设计文档 | 0 | 0 |
· Design Review | 设计复审 | 0.1 | 2.5 |
· Coding Standard | 代码规范 | 0.1 | 0.1 |
· Design | 具体设计 | 2 | 4 |
· Coding | 具体编码 | 10 | 15 |
· Code Review | 代码复审 | 1 | 1 |
· Test | 测试(自我测试,修改代码,提交修改) | 1 | 1.5 |
Reporting | 报告 | 0 | 0 |
Test Report | 测试报告 | 0.3 | 0 |
·workload | 计算工作量 | 0.3 | 0.5 |
·correction | 并提出过程改进计划 | 0.3 | 3.3 |
-
四、结对过程
结对照片:
五.开发环境
- 调试并编写代码
六.结对感悟
通过这次的结对项目让我明白了团队的力量,以前做项目很多时候都是自己一个人来搞,每次碰到解决不了的问题就只会自己烦操,但通过这次结对合作,让我在做项目的时候感觉到了一种依靠,不用自己一个人孤苦作战。然后说回项目本身,这次项目应该是比较难的一次作业了,功能也蛮多的,在要求脱离控制台这个要求上我们思考了蛮久的。在这次项目里,我们不断查阅资料不断解决bug,在这个阶段我们是学习到最多东西的一部分。
七.具体代码
时间+计时器
var i =0; function clock(){ i++; var time = new Date(); document.getElementById("clock").value = time; var btn =document.getElementById("btn"); // btn.onclick = function(){ // clearInterval(t); document.getElementById("sumtime").value=i; // } if(i==120){ clearInterval(t); alert("时间到,请提交答案"); } } var t = setInterval(clock,1000);
计算分数
for(int i=0;i<number;i++){ answers[i]= Integer.parseInt(request.getParameter("answer"+i)); if(answer[i]==answers[i]){ fenshu1=fenshu1+fengshu; j++; } }
运算算法
public int Calculation(){ int[] numberA=numberB; String[] numberSymbol=SymbolNumber1; int answer=0; int h=0; int l=0; int z=0; for(int i=0;i<numberSymbol.length;i++){ if(i>=1&&z==1){ h=i; i--; } if(numberSymbol[i].equals("*")){ answer= numberA[i]*numberA[i+1]; numberA[i]=answer; for(int j=i;j<numberSymbol.length;j++){ if(j<numberSymbol.length-1){ numberA[j+1]=numberA[j+2]; numberSymbol[j]=numberSymbol[j+1]; numberSymbol[j+1]="a"; } } z=1; l++; } if(numberSymbol[i].equals("/")){ answer=numberA[i]/numberA[i+1]; numberA[i]=answer; for(int j=i;j<numberSymbol.length;j++){ if(j<numberSymbol.length-1) { numberA[j + 1] = numberA[j + 2]; numberSymbol[j] = numberSymbol[j + 1]; numberSymbol[j+1]="b"; } } z=1; l++; } if(h!=0) { i = h; h = 0; } } for(int i=0;i<numberSymbol.length-l;i++){ if(i>=1){ h=i; i--; } if(numberSymbol[i].equals("-")){ answer= numberA[i]-numberA[i+1]; numberA[i]=answer; for(int j=i;j<numberSymbol.length;j++){ if(j<numberSymbol.length-1) { numberA[j + 1] = numberA[j + 2]; numberSymbol[j] = numberSymbol[j + 1]; } } if(h!=0) { l++; } } if(numberSymbol[i].equals("+")){ answer=numberA[i]+numberA[i+1]; numberA[i]=answer; for(int j=i;j<numberSymbol.length;j++){ if(j<numberSymbol.length-1) { numberA[j + 1] = numberA[j + 2]; numberSymbol[j] = numberSymbol[j + 1]; } } if(h!=0) { i++; } } if(h!=0) { i = h; h=0; } } return answer; }
更改颜色
function Changecolor() { document.getElementById("change").style.backgroundColor="#6610f2"; }
所有评论(0)