第一次冲刺:

每个员可以各自完成自己的分配好的模块

  罗伟业:加减算术----乘除算式   返回一个完整正确(加减、乘除)的算式<考虑到低年级还没有完全掌握四则混合运算>

  康取:四则混合运算算式  返回一个完整正确的混合四种运算的算式 <含分数>

  陈键:四则混合+括号混合  返回一个完整正确的混合四种运算的算式  <含分数>

现在也基本达到了目标 .

基本能够达到预想效果< UI - 。-不堪入目 有待提高.>

在完成过程中想到了

----存储 一些默认设置 比如模式和难度的选择等等的数据
-----增加一个对题 错题的 比较.分数显示.
-----设置输入内容只能是数值 。不能是分数,保留三位小数.<规划输入格式>

  1 package com.example.testc;
  2 import java.math.BigDecimal;
  3 import java.util.Random;
  4 import android.app.Activity;
  5 import android.os.Bundle;
  6 import android.view.View;
  7 public class MainActivity extends Activity {
  8     private Calculator calculator = new Calculator();
  9     private Double intemp ;
 10     @Override
 11     protected void onCreate(Bundle savedInstanceState) {
 12         super.onCreate(savedInstanceState);
 13         setContentView(R.layout.activity_main);
 14     }
 15     public void onclick(View v) {
 16         switch (v.getId()) {
 17         case R.id.createone:
 18             String a = createOperation();
 19             calculator.setExpression(a);
 20             adjustResult( calculator.getResult() ,"1");
 21             System.out.println(a + "===" +intemp+ "====" + calculator.getResult());
 22             break;
 23         }
 24     }
 25
 26     /** 比较答案的对错,精度为0.001 **/
 27     public boolean adjustResult(String CorrectResult, String userResult) {
 28         BigDecimal correctAnswer = new BigDecimal(CorrectResult);
 29         BigDecimal userAnswer = new BigDecimal(userResult);
 30         double cAnswer;
 31         double uAnswer;
 32
 33           cAnswer = correctAnswer.doubleValue();
 34           uAnswer = userAnswer.doubleValue();
 35           int ax = (int) Math.round(cAnswer * 1000) ;
 36             cAnswer = ax /1000.0;
 37             intemp=cAnswer;
 38             if (Math.abs(cAnswer - uAnswer) < 0.001 )
 39                 return true;
 40         return false;
 41     }
 42
 43     public String createOperation() {
 44         Random seed = new Random();
 45         final String ADD = "+" + "";
 46         final String MINUS = "-" + "";
 47         final String MULTIPLY = "x" + "";
 48         final String DEVIDE = "/" + "";
 49
 50         // 操作数的个数.而且最多为五个,默认三个操作数
 51         int number = 3;
 52         String datas[] = new String[5];
 53         String op[] = new String[5];
 54
 55         /** 生成 操作数个数 **/
 56         int numberSeeder = seed.nextInt(4) + 1;
 57
 58         if (numberSeeder == 1)
 59             number = 3;
 60         else if (numberSeeder == 2 || numberSeeder == 4)
 61             number = 4;
 62         else if (numberSeeder == 3)
 63             number = 5;
 64
 65         /** 生成 操作数 跟 符号 **/
 66         for (int i = 0; i < number; i++) {
 67             int jud = seed.nextInt(100);
 68             if (jud < 20) {
 69                 datas[i] = fraction();
 70             } else if (jud < 100) {
 71                 datas[i] = integerCreater();
 72             }
 73             if (i<number-1) {
 74                 /** 操作数的个数都是比符号的个数多一个 **/
 75                 int judp= seed.nextInt(4) + 1;
 76                 if (judp == 1)
 77                     op[i] = ADD;
 78                 else if (judp == 2)
 79                     op[i] = MINUS;
 80                 else if (judp == 3)
 81                     op[i] = MULTIPLY;
 82                 else if (judp== 4)
 83                     op[i] = DEVIDE;
 84             }
 85         }
 86         return createBrackets(datas, op, number);
 87     }
 88     /** create an integer **/
 89     public String integerCreater() {
 90         Random seed = new Random();
 91         String data;
 92         data = String.valueOf(seed.nextInt(300) + 1);
 93         return data;
 94     }
 95     /** create a fraction **/
 96     public String fraction() {
 97         final String DEVIDE = "/" + "";
 98         final String leftear = "(" + "";
 99         final String rightear = ")" + "";
100         int First = 1, second = 1;
101         Random seeder = new Random();
102         First = seeder.nextInt(20) + 1;// 分子
103         second = seeder.nextInt(20) + 1;// 分母
104         return leftear + First + DEVIDE + second + rightear;
105     }
106
107     /** brackets block 操作数据数组 、 操作符 、 个数 **/
108     public String createBrackets(String datas[], String operator[], int number) {
109         final String leftear = "(" + "";
110         final String rightear = ")" + "";
111         Random seeder = new Random();
112         String bracketOperation = null;
113         switch (number) {
114         case 3:
115             if (seeder.nextInt() / 2 == 0)
116                 bracketOperation = leftear + datas[0] + operator[0] + datas[1]
117                         + rightear + operator[1] + datas[2];
118             else
119                 bracketOperation = datas[0] + operator[0] + leftear + datas[1]
120                         + operator[1] + datas[2] + rightear;
121             break;
122         case 4:
123             int temp = seeder.nextInt(21) + 1;
124             temp = temp % 7 + 1;
125             switch (temp) {
126             case 1:// (a+b)x(a+b)
127                 bracketOperation = leftear + datas[0] + operator[0] + datas[1]
128                         + rightear + operator[1] + leftear + datas[2]
129                         + operator[2] + datas[3] + rightear;
130                 break;
131             case 2:// ((a+b)+b)+b
132                 bracketOperation = leftear + leftear + datas[0] + operator[0]
133                         + datas[1] + rightear + operator[1] + datas[2]
134                         + rightear + operator[2] + datas[3];
135                 break;
136             case 3:// (a+(a+b))+b
137                 bracketOperation = leftear + datas[0] + operator[0] + leftear
138                         + datas[1] + operator[1] + datas[2] + rightear
139                         + rightear + operator[2] + datas[3];
140                 break;
141             case 4:// (a+b)+a+b
142                 bracketOperation = leftear + datas[0] + operator[0] + datas[1]
143                         + rightear + operator[1] + datas[2] + operator[2]
144                         + datas[3];
145                 break;
146             case 5:// a+b+(a+b)
147                 bracketOperation = datas[0] + operator[0] + datas[1]
148                         + operator[1] + leftear + datas[2] + operator[2]
149                         + datas[3] + rightear;
150                 break;
151             case 6:// a+(a+b)+b
152                 bracketOperation = datas[0] + operator[0] + leftear + datas[1]
153                         + operator[1] + datas[2] + rightear + operator[2]
154                         + datas[3];
155                 break;
156             case 7:// (a+b+c)+a
157                 bracketOperation = leftear + datas[0] + operator[0] + datas[1]
158                         + operator[1] + datas[2] + rightear + operator[2]
159                         + datas[3];
160                 break;
161             }
162             break;
163         case 5:
164             int dicision = seeder.nextInt(33) + 1;
165             dicision = dicision % 9 + 1;
166             switch (dicision) {
167             case 1:// (a+(a+b))+a+b
168                 bracketOperation = leftear + datas[0] + operator[0] + leftear
169                         + datas[1] + operator[1] + datas[2] + rightear
170                         + rightear + operator[2] + datas[3] + operator[3]
171                         + datas[4];
172                 break;
173             case 2:// ((a+b)+a)+a+a
174                 bracketOperation = leftear + leftear + datas[0] + operator[0]
175                         + datas[1] + rightear + operator[1] + datas[2]
176                         + rightear + operator[2] + datas[3] + operator[3]
177                         + datas[4];
178                 break;
179             case 3:// (a+b)x(a+b)+a
180                 bracketOperation = leftear + datas[0] + operator[0] + datas[1]
181                         + rightear + operator[1] + leftear + datas[2]
182                         + operator[2] + datas[3] + rightear + operator[3]
183                         + datas[4];
184                 break;
185             case 4:// (a+b)x(a+b+a)
186                 bracketOperation = leftear + datas[0] + operator[0] + datas[1]
187                         + rightear + operator[1] + leftear + datas[2]
188                         + operator[2] + datas[3] + operator[3] + datas[4]
189                         + rightear;
190                 break;
191             case 5:// (a+b)x(a+b+c)
192                 bracketOperation = leftear + datas[0] + operator[0] + datas[1]
193                         + rightear + operator[1] + leftear + datas[2]
194                         + operator[2] + datas[3] + operator[3] + datas[4]
195                         + rightear;
196                 break;
197             case 6:// (a+b)+a+(a+b)
198                 bracketOperation = leftear + datas[0] + operator[0] + datas[1]
199                         + rightear + operator[1] + datas[2] + operator[2]
200                         + leftear + datas[3] + operator[3] + datas[4]
201                         + rightear;
202                 break;
203             case 7:// ((a+b)+a)X(a+b)
204                 bracketOperation = leftear + leftear + datas[0] + operator[0]
205                         + datas[1] + rightear + operator[1] + datas[2]
206                         + rightear + operator[2] + leftear + datas[3]
207                         + operator[3] + datas[4] + rightear;
208                 break;
209             case 8:// (((a+b)+c)+d)+e
210                 bracketOperation = leftear + leftear + leftear + datas[0]
211                         + operator[0] + datas[1] + rightear + operator[1]
212                         + datas[2] + rightear + operator[2] + datas[3]
213                         + rightear + operator[3] + datas[4];
214                 break;
215             case 9:// a+(a+b+c)+e
216                 bracketOperation = datas[0] + operator[0] + leftear + datas[1]
217                         + operator[1] + datas[2] + operator[2] + datas[3]
218                         + rightear + operator[3] + datas[4];
219                 break;
220             }
221             break;
222         }
223         return bracketOperation;
224     }
225
226 }

CreateExercises

转载于:https://www.cnblogs.com/be-the-one/p/4998688.html

续.第一次冲刺之后.相关推荐

  1. ThroughRain第一次冲刺(每天更新)

    第一次冲刺时间: 11月14-11月23 第一次冲刺目标及分配: 1.注册登录界面            认领:王大华 2.界面跳转                  认领:梁仕标 3.点餐界面   ...

  2. 团队任务3:第一次冲刺

    团队序号:3 团队成员: 产品经理/项目经理/队长:许兴鑫 软件工程师:吴登峰.王炳文 软件测试工程师:郑文龙 UI设计师:杨蕃.李昊燃 开发软件名称:贪吃蛇大作战 仓库地址:https://gite ...

  3. 易达项目第一次冲刺周期第十天

    昨天完成了什么? 昨天我和我们小组的人商量了一下,我们项目的进度,有点慢,项目的导航栏界面设计完成,在第四个界面中,添加了一些基本的功能,并且设计出了登录的界面(还没有连上数据库). 今天干了什么? ...

  4. 第一次冲刺-个人工作总结01

    昨天干了什么:今天开始冲刺,所以昨天具体就是安装了一些开发用的软件 今天准备干什么:学习如何使用微信web开发者工具进行开发 遇到的困难:不熟悉开发者小工具的使用 转载于:https://www.cn ...

  5. 第一次冲刺阶段(五)

    一.站立会议信息 今天是冲刺阶段的第五天,在中午放学后我们进行了站立会议.在过去的几天中,我们都在熟悉开发环境以及各种控件的使用,今天来看的话,每个人对各种控件的使用更加熟悉,出现的相关问题也得到了部 ...

  6. 团队项目第一次冲刺第三天

    昨天干了什么: 完成了分页的功能 今天要干什么: 准备完成评论功能 遇到的问题: 搜索结果时,输入字母可以查询到,输入汉字不行,可能是出现了乱码 转载于:https://www.cnblogs.com ...

  7. 团队项目第一次冲刺 第二天

    昨天干了什么: 编写了增删改查的基本方法,写了简单的界面 今天要干什么: 今天要解决编写分页功能时遇到的问题 遇到的问题: 昨天晚上编写分页功能时,出现了错误 转载于:https://www.cnbl ...

  8. 第一次冲刺对各组的评价

    1.理财猫: 界面布局风格还可以,就是功能有些混乱,不好找 作为比较私密的软件,是否需要进行登录? 软件并没有连数据库   2.跑什么操: 完成了注册,使用的本地数据库还是服务器? 后期能不能自动调节 ...

  9. 团队软件开发第一次冲刺(四)

    连接数据库完成对无课表的查询操作, 认真考虑之后准备用php语言后台操作数据库 查询结果时需要较详细的信息,不能实现模糊查询 开始在网上学习,查找一些聊天室开发的过程及经验 转载于:https://w ...

最新文章

  1. 实战教程 | 车道线检测项目实战,霍夫变换 新方法 Spatial CNN
  2. 安装Rabbitmq脚本
  3. 【HRBUST - 1623】Relation(思维模拟,拆解字符串)
  4. R语言第五讲 之R语言 变量
  5. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 4丨游戏玩法分析 I【难度简单】
  6. bzoj3083 遥远的国度
  7. 路飞学城django
  8. C++语言运算符重载
  9. 微信小程序的剪贴板 +复制剪贴,在淘宝中打开就可以获取到商品
  10. ARP防火墙绑定网关MAC地址预防ARP攻击和P2P终结者
  11. OpenCV学习——摄像头人脸识别
  12. MarkDown 符号大全
  13. kd树的根节点_KD树简介
  14. 05 JavaScript框架汇总
  15. 美国亚马逊图片打不开
  16. iOS --- OpenGLES之图片纹理
  17. python使用tkinter库,封装操作excel为GUI程序
  18. 聚簇索引和非聚簇索引到底有什么区别?
  19. Linux系统中文件系统管理
  20. 记一次曲折的拿靶标记录

热门文章

  1. 命令行终端怎么显示√2̅?这其实是一个博客的Unicode测试文章
  2. 双均线策略(期货)——Python量化
  3. IT30: IT人怎样成为解决问题的高手
  4. 【JDBC】使用c3p0数据库连接池的各种报错警告
  5. idea如何全屏_IntelliJ IDEA(十) :常用操作
  6. 强烈推荐免费在线图片转文字的工具
  7. 解决mac端VLC媒体库拖入具有多个文件的N多视频后就会卡死,或者cpu占用颇高的问题
  8. 萤石云视频直播切换出现no source found in video tag.的问题解决方法
  9. 使用Dreamweaver MX制作基础简易6行8列个人简历表格。
  10. 目标检测系列论文汇总