zoukankan      html  css  js  c++  java
  • Java_第一次作业一稿修改建议

    主函数

    1、字符串s可内置于ComeputePoly中,使多项式计算完全封闭 

    2、未将超长字符串与简单字符串匹配统一

    3、缺少try catch结构

    ComputePoly类

    1、在将多项式实例化时,字符串分割方法丑陋

    Poly类

     Crash报告

    在本次作业中出现一次crash报告:

    在进行超长字符串判断时,由于开始时未考虑超长字符串会导致正则表达式栈溢出问题,因此采取打补丁的方式进行解决。打补丁时将字符串进行分割,分割采用的正则表达式直接选择pattern(单个多项式正则表达式)进行判断。由于pattern书写格式如下所写:

    pattern="[+-]?"+Bracket+"("+"[+-]"+Bracket+"){0,19}";

    致使分割字符串s左花括号外不具有正负符号,仍可进入到计算模块,导致ERROR表达式误判为正确,为后续模块crash埋下伏笔。

    当我再回看自己的程序时,我发现这个问题并没有被catch出来,我所被crash的bug其实是因为:

    对于超长字符串我并没有20项的项数上限判断,即便超出20项也会计算。又因为多项式数组有上限,因此当超出25项时程序便会溢出崩溃。。。。。

     

  • 相关阅读:
    POJ 3126 Prime Path
    POJ 2429 GCD & LCM Inverse
    POJ 2395 Out of Hay
    【Codeforces 105D】 Bag of mice
    【POJ 3071】 Football
    【POJ 2096】 Collecting Bugs
    【CQOI 2009】 余数之和
    【Codeforces 258E】 Devu and Flowers
    【SDOI 2010】 古代猪文
    【BZOJ 2982】 combination
  • 原文地址:https://www.cnblogs.com/greystone/p/8592665.html
Copyright © 2011-2022 走看看