结对项目-四则运算 “软件”之升级版
作业要求来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213
我的Github:https://github.com/Galuowa/myrepository
一、扩展方向
从个人项目出发,将程序改造成一个单机带用户界面(不是控制台)的程序,这个程序最基本要达到:
- 自动生成题目,单个题目最多不能超过4个运算符,操作数小于100。
- 用户可以输入答案
- 若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。
二、扩展方向
- 程序可以出带括号的正整数四则运算,支持分数,除法保留两位小数,如:(1/3+1)*2 = 2.67,特别注意:这里是2.67而非2.66,或保持分数形式:8/3
- 用户答题结束以后,程序可以显示用户答题所用的时间
- 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数
- 程序可以设置皮肤功能,可以改变界面的颜色即可(按钮点击实现两种颜色切换)
三、个人软件过程耗时估计与统计表
PSP2.1 | Personal Software Process Stages | Time Senior Student(h) | Time(h) |
Planning | 计划 | 1 | 1 |
Estimate | 估计这个任务需要多少时间 | 10 | 12 |
Development | 开发 | 40 | 60 |
Analysis | 需求分析 (包括学习新技术) | 5 | 10 |
Design Spec | 生成设计文档 | 1 | 1 |
Design Review | 设计复审 | 3 | 5 |
Coding Standard | 代码规范 | 1 | 3 |
Design | 具体设计 | 1 | 3 |
Coding | 具体编码 | 2 | 5 |
Code Review | 代码复审 | 1 | 2 |
Test | 测试(自我测试,修改代码,提交修改) | 1 | 2 |
Reporting | 报告 | 1 | 1 |
测试报告 | 1 | 1 | |
计算工作量 | 1 | 1 | |
并提出过程改进计划 | 1 | 1 |
四、结对过程
1、开发环境
IntelliJ IDEA 2018.2.4 x
2、结对同伴
本人——梁航,学号201606120040
3、结对编程的收获和感悟
在这次的结对编程中,我并没有去进行结对,所以我一个人进行这次项目。在这次项目中,我体会到了一个人编程的困难性,但是我还是把这次项目做完了。在这次编程中我学会了怎么创建窗口,在窗口中点击按钮产生点击事件。在这次结对项目里一个人做是很困难的,有些大型项目还是要两个人或者多个人去做,合作才能共赢。
五、部分源代码
创建字符串型带括号的四则运算表达式:
1 public static String Create() { 2 int rand = (int) (random() * 2 + 2); 3 String num[] = new String[rand + 1]; 4 num[0] = "" + (int) (random() * 99 + 1); 5 String Totality=""; 6 String cha[] = new String[rand]; 7 for (int i = 0; i < rand; i++) { 8 int Char = (int) (random() * 3 + 1); 9 num[i+1] = "" + (int) (random() * 99 + 1); 10 switch (Char) { 11 case 1: 12 cha[i] = "+"; 13 break; 14 case 2: 15 cha[i] = "-"; 16 break; 17 case 3: 18 cha[i] = "*"; 19 break; 20 case 4: 21 cha[i] = "/"; 22 break; 23 default: 24 break; 25 } 26 } 27 int j=0; 28 while (j<rand-1){ 29 int change=(int)((10*Math.random())%2); 30 if(change!=0) 31 { 32 Totality = Totality + '('+ num[j] + cha[j] ;//'('+Totality+')'; 33 j++; 34 Totality = Totality + num[j]+ ')' + cha[j]; 35 j++; 36 }else { 37 Totality = Totality + num[j] + cha[j] ; 38 j++; 39 Totality = Totality + num[j] + cha[j]; 40 j++; 41 } 42 }; 43 Totality = Totality + num[j] ; 44 return Totality; 45 }
六、运行页面截图
运行窗口:
改变背景颜色
答题完成后弹框