2020北航OO表达式求导作业总结
三次作业的思路与bug测试 第一次作业 第一次作业内容为简多项式单导函数的求解,项包含常数项(带符号整数)与变量项(系数与幂函数的乘积),表达式由加法和减法运算符连接若干项组成。且输入中确保格式的正确性。 1.1 实现方案 根据需求,我们很容易联想到用 HashMap 表示每一项中幂函数指数与系数的对应关系。而且因为这是第一次作业,我没有考虑可扩展性,直接在多项式类 Ploy 中使用了类型为 HashMap<BigInteger,BigInteger> 的 ploy 作为存储的数据结构。 数据层次:根据指导书表述,容易联想到建立指数与系数的 HashMap 来表示多项式,我建立了多项式类 Ploy ,项类 Term ,主类 MainClass 。 输入解析:我采用了按项拆分字符串的方法,提取过程中应用了正则表达式。 三次作业包你掌握正则表达式(●'◡'●) 求导功能:我在Ploy类中实现了 diffPloy() 方法,该方法会返回一个求导后的导函数,即一个新的Ploy对象。 输出:我在Ploy类中实现了 printFirst() 方法。 优化方面:实现了合并同类项、正项先输出、零项不输出、系数为1或-1时省略。 ①在 MainClass 里实例化 Ploy 对象 ploy,借用正则表达式将输入的字符串拆为单项的字符串,将拆好的字符串扔进 Term