结对项目-四则运算 “软件”之升级版

作业要求来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213

我的Github:https://github.com/Galuowa/myrepository

一、扩展方向

 从个人项目出发,将程序改造成一个单机带用户界面(不是控制台)的程序,这个程序最基本要达到:

  • 自动生成题目,单个题目最多不能超过4个运算符,操作数小于100。
  • 用户可以输入答案
  • 若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。

二、扩展方向

  1. 程序可以出带括号的正整数四则运算,支持分数,除法保留两位小数,如:(1/3+1)*2 = 2.67,特别注意:这里是2.67而非2.66,或保持分数形式:8/3
  2. 用户答题结束以后,程序可以显示用户答题所用的时间
  3. 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数
  4. 程序可以设置皮肤功能,可以改变界面的颜色即可(按钮点击实现两种颜色切换)

 三、个人软件过程耗时估计与统计表

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     }

六、运行页面截图

运行窗口:

改变背景颜色

          

 

答题完成后弹框

 

 

posted on 2018-10-24 21:59  伽罗瓦  阅读(154)  评论(0编辑  收藏  举报

导航