zoukankan      html  css  js  c++  java
  • 第一次结对作业

    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
    • 只输入一个数据
    • 极大的数值
    • 负数
    • 字母

    六、总结

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

  • 相关阅读:
    MongoDB 学习笔记之 MongoDB导入导出
    快学Scala 第十四课 (读取行,读取字符, 控制台读取)
    MongoDB 学习笔记之 权限管理基础
    MongoDB 学习笔记之 索引
    MongoDB 学习笔记之 游标
    MongoDB 学习笔记之 查询表达式
    MongoDB 学习笔记之 基本CRUD
    MongoDB 学习笔记之 入门安装和配置
    Eclipse设置JVM的内存参数
    cron表达式详解
  • 原文地址:https://www.cnblogs.com/jzmwmaowu/p/9672238.html
Copyright © 2011-2022 走看看