• 20162302


    结对编程项目-四则运算(挑战出题)(第三周)

    • 需求分析

    1、指定生成规定数量的题目
    2、指定生成规定长度的题目
    3、去除重复题目
    4、支持命令行参数

    • 遇到的问题

    死循环问题

    • 在运行检测程序的过程中,会出现死循环,在idea和虚拟机里面也会出现相同的情况


    后来经过排查,是在生成算式的时候,长度变量的定义不同,原来是以数字个数,老师的测试软件是符号个数,所以在生成一个符号的算式的时候出现了死循环

    题目长短不一问题

    • 在生成题目的时候,为了避免类似于1+1+(1)的问题,在生成括号的时候会多生成一组符号和数字

    解决方法是增加一个判断生成符号的长度的模块

    if (operator.length()!=1)
                    i ++;
    

    如果是生成括号,长度不为一,在计数的时候加上一就可以解决

    当然,这样如果是一个符号的算式会强制生成为两个符号的算式,所以这个也要在生成算式的时候分类讨论,因为一个符号根本用不上括号

    if (length==1){
                for(int i=0; i<length; i++){
                    operator = creativeOpe1();
                    formula = formula.concat(operator +" ");
                    number = generateNum();
                    formula = formula.concat(fmt.format(number)+" ");
                }
            }
            else {
                for (int i = 0; i < length; i++) {
                    operator = generateOpe();
                    if (operator.length() != 1)
                        i++;
                    formula = formula.concat(operator + " ");
                    number = generateNum();
                    formula = formula.concat(fmt.format(number) + " ");
                }
                formula = check(formula);
            }
    
    • UML结构图

    • 运行结果


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

    结对伙伴

    20162319 莫礼钟
    评分:20

  • 相关阅读:
    [HTML] IE=edge,chrome=1的META标签详解
    [FFmpeg] ffmpeg 常用命令
    rsyncd 配置使用
    httpd配置
    ftp利用脚本添加本地用户
    zabbix监控概念
    搭建本地yum源并定时同步
    linux添加lvm磁盘大小,命令行创建swap
    500 OOPS: vsftpd: refusing to run with writable root inside chroot()
    利用saltstack批量安装clamav杀毒软件
  • 原文地址:https://www.cnblogs.com/yangjingdian/p/6941940.html
Copyright © 2020-2023  润新知