博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第一次结对作业
阅读量:4631 次
发布时间:2019-06-09

本文共 2144 字,大约阅读时间需要 7 分钟。

211606368林书浩 211606352陈彬

一、预估与实际

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划
• Estimate • 估计这个任务需要多少时间 35 40
Development 开发
• Analysis • 需求分析 (包括学习新技术) 35 40
• Design Spec • 生成设计文档 30 40
• Design Review • 设计复审 50 45
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 30 35
• Design • 具体设计 40 50
• Coding • 具体编码 800 900
• Code Review • 代码复审 100 110
• Test • 测试(自我测试,修改代码,提交修改) 100 100
Reporting 报告 20 20
• Test Repor • 测试报告 10 10
• Size Measurement • 计算工作量 10 10
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 5 5
合计 1405

二、需求分析

我通过上网查阅资料的方式了解到,小学三年级数学有如下的几个特点:

  • 四则运算
  • 同优先级从左往右顺序运算,高优先级先运算

三、设计

1. 设计思路

  • 四则运算的生成
  • 输出到out.txt

2. 实现方案

  • 使用逆波兰函数
  • 正则表达式

四、编码

// 比较两个运算符的优先级

private static int cmpOper(String op1, String op2) {
if (op1.equals("+") || op1.equals("-")) {
if (op2.equals("+") || op2.equals("-")) {
return 0;
} else {
// if (op2.equals("") || op2.equals("/")) {}
return -1;
}
}else{
// if (op1.equals("
") || op1.equals("/"))
if (op2.equals("+") || op2.equals("-")) {
return 1;
} else {
// if (op2.equals("*") || op2.equals("/")) {
return 0;
}
}
}

// 判断字符串是否为数字

private static boolean isNumber(String s) {
try {
Integer.parseInt(s);
} catch (NumberFormatException e) {
return false;
}
return true;
}

1. 调试日志

出现除零异常,发生原因可能是因为没有考虑分母为零的情况

输出结果为空值,发生原因可能是因为在用栈的时候没有安排好顺序

2. 关键代码

// 比较两个运算符的优先级

private static int cmpOper(String op1, String op2) {
if (op1.equals("+") || op1.equals("-")) {
if (op2.equals("+") || op2.equals("-")) {
return 0;
} else {
// if (op2.equals("") || op2.equals("/")) {}
return -1;
}
}else{
// if (op1.equals("
") || op1.equals("/"))
if (op2.equals("+") || op2.equals("-")) {
return 1;
} else {
// if (op2.equals("*") || op2.equals("/")) {
return 0;
}
}
}

// 判断字符串是否为数字

private static boolean isNumber(String s) {
try {
Integer.parseInt(s);
} catch (NumberFormatException e) {
return false;
}
return true;
}

3. 代码规范

请给出本次实验使用的代码规范:

  • 1.再循环语句与判断语句后应该用缩进4格
  • 2.注意缩写规范,避免忘文不知义
  • 3.不允许任何未经预先定义的常量直接出现在代码中
  • 4.左大括号前不换行,左大括号后换行,右大括号前换行,右大括号后还有东西这不换行,表示终止的右大括号后必须换行。.

五、测试

    • gread10 -n 3
    • n 10 -gread 3
  • 没有输入前面的-n和-gread
  • 只输入一个数据
  • 极大的数值
  • 负数
  • 字母

六、总结

设计思路没有想好后面写代码的时候非常吃力

1472252-20180919000444577-394845164.jpg

转载于:https://www.cnblogs.com/jzmwmaowu/p/9672238.html

你可能感兴趣的文章
SQL数据库无法附加 系统表损坏修复 数据库中病毒解密恢复
查看>>
Entity Framework的启动速度优化
查看>>
Hadoop2.6.0伪分布环境搭建
查看>>
贴现因子
查看>>
2019-03-20 Python爬取需要登录的有验证码的网站
查看>>
docker(4)docker的网络,自定义网桥
查看>>
HSSFWorkbook 与 XSSFWorkbook
查看>>
javascript ES6 新特性之 扩展运算符 三个点 ...
查看>>
Linux内核初期内存管理---memblock(转)
查看>>
黑客第一课
查看>>
Centos7 安装 telnet 服务
查看>>
Windows Azure Virtual Network (6) 设置Azure Virtual Machine固定公网IP (Virtual IP Address, VIP) (1)...
查看>>
3.1、final、finally、 finalize
查看>>
国家气象局提供的天气预报接口
查看>>
MongoDB 删除数据库
查看>>
前端基础之JQuery
查看>>
AppStore SDK
查看>>
记录一次爬取某昵称网站的爬虫
查看>>
lattice diamond 3.7安装破解
查看>>
Kindeditor学习中的那些坑
查看>>