标签:odi test 参考 else 多少 依次 .com 日志 --
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 15 | 20 |
? Estimate | ? 估计这个任务需要多少时间 | 800 | 1000 |
Development | 开发 | 600 | 600 |
? Analysis | ? 需求分析 (包括学习新技术) | 30 | 60 |
? Design Spec | ? 生成设计文档 | 20 | 30 |
? Design Review | ? 设计复审 | 10 | 30 |
? Coding Standard | ? 代码规范 (为目前的开发制定合适的规范) | 10 | 10 |
? Design | ? 具体设计 | 30 | 40 |
? Coding | ? 具体编码 | 400 | 500 |
? Code Review | ? 代码复审 | 20 | 15 |
? Test | ? 测试(自我测试,修改代码,提交修改) | 60 | 45 |
Reporting | 报告 | 60 | 60 |
? Test Repor | ? 测试报告 | 30 | 30 |
? Size Measurement | ? 计算工作量 | 20 | 15 |
? Postmortem & Process Improvement Plan | ? 事后总结, 并提出过程改进计划 | 20 | 30 |
合计 | 1000 |
我通过网上查阅和询问担任担任小学老师的姑姑了解到,小学三年级数学四则混合运算有如下的几个特点:
说明你如何设计这个程序
写出具体实现的步骤
public static double Operation(String[] OpeMarkStrNumber, String[] OpeNumber) { //首先遍历一遍存储运算符的数组,寻找到* /这种优先级较高的运算符,运算出结果,然后将运算过的符号与数值改为null,然后使用去除null的函数,去掉null数据
while(true) {
int PMAmount = 0;
for(int i = 0; i < OpeMarkStrNumber.length-1; i++) {
if(OpeMarkStrNumber[i] == "*") {
double ans = Double.parseDouble(OpeNumber[i]) * Double.parseDouble(OpeNumber[i+1]);
OpeNumber[i] = String.valueOf(ans);
OpeNumber[i+1] = null;
OpeMarkStrNumber[i] = null;
OpeNumber = RemoveNull(OpeNumber);
OpeMarkStrNumber = RemoveNull(OpeMarkStrNumber);
PMAmount++;
break;
}else if(OpeMarkStrNumber[i] == "/") {
double ans = Double.parseDouble(OpeNumber[i]) / Double.parseDouble(OpeNumber[i+1]);
OpeNumber[i] = String.valueOf(ans);
OpeNumber[i+1] = null;
OpeMarkStrNumber[i] = null;
OpeNumber = RemoveNull(OpeNumber);
OpeMarkStrNumber = RemoveNull(OpeMarkStrNumber);
PMAmount++;
break;
}
}
if(PMAmount == 0) {
break;
}
}
return PlusMinus(OpeMarkStrNumber, OpeNumber);
}
public static double PlusMinus(String[] OpeMarkStrNumber, String[] OpeNumber) { //当乘除法被消除完之后,可以依次运算加减法,最终得出结果
int PMmarkNo = 0;
double ans = Double.parseDouble(OpeNumber[0]) ;
while(true) {
if(OpeMarkStrNumber[PMmarkNo] == "+") {
ans = ans + Double.parseDouble(OpeNumber[PMmarkNo+1]);
PMmarkNo++;
}else if(OpeMarkStrNumber[PMmarkNo] == "-"){
ans = ans - Double.parseDouble(OpeNumber[PMmarkNo+1]);
PMmarkNo++;
}else if(OpeMarkStrNumber[PMmarkNo] == null){
return ans;
}
}
}
public static String[] RemoveNull(String[] target) { //去除null 函数,将数组中的null移动至数组后面
for(int i = 0; i < target.length; i++) {
if(target[i] == null) {
for(int j = i; j < target.length; j++) {
if(j != target.length-1) {
target[j] = target[j+1];
}else {
target[j] = null;
}
}
}
}
return target;
}
```
请给出本次实验使用的代码规范:
并人工检查代码是否符合规范
输入5 3
(5)20-16-18/9=2.0
从刚看到题目时的不知所措,第一想法就是“我不会”,但是又想到这是一次结对作业,正所谓三个臭皮匠赛过诸葛亮,两个“臭皮匠"来解决这个三年级四则运算应该也绰绰有余了吧,通过相互间的讨论,解决了一些数组的越界,以及空指针的错误,节约了一些修改BUG的时间,对于不会的东西勤百度,这是解决问题的途径之一。
标签:odi test 参考 else 多少 依次 .com 日志 --
原文地址:https://www.cnblogs.com/Li-zhen-cn/p/9670496.html