团队博客地址:
甘佳萍:http://www.cnblogs.com/gjpg/
*飞:http://www.cnblogs.com/l549023320/
赵创佳:http://www.cnblogs.com/7763255qw/
口袋精灵,
bug发现:
1、在运行过程中会出现程序闪退。
2、运行过程中音乐没办法关闭。
3、不能退出。
单元测试代码如下:
package com.example.mathsapp; import java.math.RoundingMode; import java.text.DecimalFormat; import java.util.*; public class KuohaoCalc { ; // 记录单个运算数据的长度 static DecimalFormat decimal = new DecimalFormat("#.##"); // 判断是否有带括号的运算字符串存在 public String interceResult(String str) { String finalresult; String result = str; char[] numberString = str.toCharArray(); ; // 记录“(”的实际数量 ; // 记录“)”的实际数量 ; i < numberString.length; i++) { if ('(' == numberString[i]) { // 记录最后一个正括号的位置 IndexStart = i; } if (')' == numberString[i]) { // 记录反括号的最初始下标的位置 EndStart = i; // 截取最里面一个括号里的运算字符串 result = result.substring(IndexStart + , EndStart); // 截取括号的运算字符串进行运算,生成新的运算字符串 result = str.substring(, IndexStart) + interceptOperation(result, '*', '÷') + str.substring(EndStart + , str.length()); // 回调执行,其它小括号的运算字符串 return interceResult(result); } ) ) break; } // 不存在括号了,再进行混合运算 result = interceptOperation(str, '*', '÷'); double res=Double.parseDouble(result); decimal.setRoundingMode(RoundingMode.HALF_UP);//四舍五入 finalresult=String.valueOf(decimal.format(res)); return finalresult; } // 不带括号的四则运算 private static String interceptOperation(String operationNumber, char a, char b) { String mess = operationNumber; char[] stringOperation = mess.toCharArray(); // 循环遍历运算字符串,并做相应的运算 ; i < stringOperation.length; i++) { // 判断运算符所在的索引 if (stringOperation[i] == a || stringOperation[i] == b) { ) { // 运算符前的第一个数 , i)); // 记录第一个数据的长度 int frontPosition = intercePosition; // 运算符前的第二个数 , stringOperation.length)); // 记录第二个数据的长度 int backPosition = intercePosition; // 算完乘除,将结果替换到原来运算的位置,得到新的运算字符串 String IndexMess = mess.substring(, i - frontPosition + ); String IndexResult = ""; // 判断是否运算到最后的结果了 && IndexMess.indexOf( && IndexMess.indexOf( && IndexMess.lastIndexOf() IndexMess = ""; if (IndexMess != "") IndexResult = IndexMess.lastIndexOf('-') == IndexMess .length() - ? IndexMess.substring(, i - frontPosition) : IndexMess; // 组装新的运算字符串 mess = IndexResult// mess.substring(0,i-frontPosition+1) + reslutString("" + stringOperation[i], num1, num2) + mess.substring(i + backPosition + ); // 0.111/1212/2/2/2/2/2/2/2 && mess.indexOf( && mess.indexOf( && mess.indexOf() { break; } // 回调,继续运算 return interceptOperation(mess, a, b);// 1+7-5+89/3+4-6*8/2+4-6 } else continue; } ) { // 递归出口,判断是否还有运算字符串在 || mess.indexOf() return interceptOperation(mess, '+', '-'); break; } } return mess; } // 截取第二个数 private static double interceptNumEnd(String str) { ; ; char[] stringOperation = str.toCharArray(); boolean ispas = false; // 记录是否为负数 ; i < stringOperation.length; i++) { switch (stringOperation[i]) { case '*': case '÷': case '+': case '-': InrerceIndex = i; ) // 判断该数是否为负数 ispas = true; break; default: break; } if (ispas) break; } // 判断此数据是否在运算字符串的最后一位 ) { a = Double.parseDouble(str); intercePosition = str.length(); if (ispas) intercePosition++; } else { a = Double.parseDouble(str.substring(, InrerceIndex)); // 记录数据的真实长度 intercePosition = str.substring(, InrerceIndex).length(); } return a; } // 截取第一个数 private static double interceptNumIndex(String str) { ; // 记录数据 ; // 记录运算符的位置 boolean temp = false; // 记录数据前运算符的状态 char[] stringOperation = str.toCharArray(); ; i >= ; i--) { switch (stringOperation[i]) { case '*': case '÷': case '+': case '-': InrerceIndex = i; temp = true; break; default: break; } if (temp) break; } // 判断此数据是否在运算字符串的第一位 ) { a = Double.parseDouble(str); intercePosition = str.length(); // if(temp) // intercePosition++; } else { a = Double.parseDouble(str.substring(InrerceIndex, str.length())); // 记录数据的真实长度 intercePosition = str.substring(InrerceIndex, str.length()) .length(); } return a; } // 计算结果 private static double reslutString(String operation, double num1, double num2) { ; if (operation.equals("*")) sumResult = num1 * num2; if (operation.equals("-")) sumResult = num1 - num2; if (operation.equals("÷")) sumResult = num1 / num2; if (operation.equals("+")) sumResult = num1 + num2; return sumResult; } }
测试结果:
由于时间的能力有限,暂时没法修复bug;
0422 发现( 数学口袋精灵)bug的更多相关文章
-
0422 寻找数学口袋精灵BUG
首先要部署这个app项目就是第一步: 一.前提下载并安装JDK 在线图解:手把手教你安装JDK http://www.lvtao.net/server/windows-setup-jdk.h ...
-
0422数学口袋精灵bug发现
团队成员的博客园地址: 蔡彩虹:http://home.cnblogs.com/u/caicaihong/ 曾治业:http://www.cnblogs.com/zzy999/ 蓝叶:http://w ...
-
0422“数学口袋精灵”BUG发现
团队成员的博客园地址: 曾治业:http://www.cnblogs.com/zzy999/ 蔡彩虹:http://www.cnblogs.com/caicaihong/ 蓝叶:http://www. ...
-
";数学口袋精灵";bug的发现
团队成员的博客园地址: 曾治业:http://www.cnblogs.com/zzy999/ 陈焕恳:http://www.cnblogs.com/4249ken/ 蓝叶:http://www.cnb ...
-
";数学口袋精灵";bug
首先要部署这个app项目就是第一步: 一.前提下载并安装JDK 在线图解:手把手教你安装JDK http://www.lvtao.net/server/windows-setup-jdk.h ...
-
";数学口袋精灵";bug的发现及单元测试
1.项目内容: 团队项目:二次开发 至此,我们有了初步的与人合作经验,接下来投入到更大的团队中去. 也具备了一定的个人能力,能将自己的代码进行测试.接下来尝试在别人已有的基础上进行开发. 上一界51冯 ...
-
找";数学口袋精灵";bug
团队成员的博客园地址: 刘森松:http://home.cnblogs.com/u/lssh/ 郭志豪:http://home.cnblogs.com/u/gzh13692021053/ 谭宇森:ht ...
-
";数学口袋精灵";bug(团队)
团队名:MY-HR 成员: 学号 博客园 团队贡献分 丘惠敏(组长) 201406114203 http://www.cnblogs.com/qiu*/ 5 郭明茵 201406114204 ...
-
0422 数学口袋精灵app
首先要部署这个app项目就是第一步: 一.前提下载并安装JDK 在线图解:手把手教你安装JDK http://www.lvtao.net/server/windows-setup-jdk.h ...
-
数学口袋精灵感受与BUG
232朱杰 http://www.cnblogs.com/alfredzhu https://github.com/alfredzhu/ 组长,团队 230蔡京航 http://www.cnblogs ...
随机推荐
-
soapUI 使用Property
DRY 原则是一个比较普适的东西,在使用soapUI测试的时候,为了make life easy,我们必须要使用Property来集中化一些设置. 比如说从dev->test->uat 的 ...
-
AVL树的旋转实现
AVL树:带有平衡条件的二叉查找树,即一棵AVL树是其每个节点的左子树和右子树的高度最多相差1的二叉查找树.一般通过Single Rotate和Double Rotate来保持AVL树的平衡.AVL树 ...
-
Eclipse导入的工程后referenced libraries中的jar包中文注释显示乱码解决方法
Preferences-General-Workspace-Text file encoding 设置为uft-8 最后重启一下eclipse.
-
jquery mobile 前言
引用js: <link rel="stylesheet" href="../jquery.mobile-1.1.0/jquery.mobile-1.1.0.css& ...
-
hibernate懒加载和json序列化冲突
因为懒加载这个对象属性只是一个代理对象,如果json直接当作一个存在的属性去序列化就会出现错误,所以就只能这样了,当然还有其他办法吧 或者在class上加上 @JsonIgnoreProperties ...
-
java怎样获取CPU占用率和硬盘占用率
通过jmx可以监控vm内存使用,系统内存使用等,以下是网上某博客代码,特点是通过window和linux命令获得CPU使用率. 利用java程序实现获取计算机cpu利用率和内存使用信息. packag ...
-
elasticsearch UNASSIGNED 处理
PUT /_settings HTTP/1.1 Host: 192.168.1.12:9200 Cache-Control: no-cache Postman-Token: 1befb0fb-6492 ...
-
Android“寄生兽”漏洞技术分析
一.关于app的缓存代码 安卓的应用程序apk文件是zip压缩格式的文件,apk文件中包含的classes.dex文件相当于app的可执行文件,当app运行后系统会对classes.dex进行优化,生 ...
-
CentOS版本区别及 Linux目录结构及其详解
CentOS 7.0体验与之前版本的不同http://www.linuxidc.com/Linux/2014-07/104196.htm CentOS版本选择http://www.centoscn.c ...
-
字母统计-map
题目描述 输入一行字符串,计算其中A-Z大写字母出现的次数 输入描述: 案例可能有多组,每个案例输入为一行字符串. 输出描述: 对每个案例按A-Z的顺序输出其中大写字母出现的次数. 示例1 输入 复制 ...