Xeger

OO的奇妙冒险1

我怕爱的太早我们不能终老 提交于 2021-02-17 08:44:42
OO的奇妙冒险 ~OOP入门与字符串处理~ 目录 总体分析 作业内容分析 作业内容总结 互测的收获 公测互测bug分析与总结 不太正经的个人自嗨 总体分析 公测 中测(基础与进阶): 其实在我看来,从完成作业的角度来说,中测的基础与进阶并没有任何区别,都不能挂,都不太难,都对得分没有什么影响。中测的样例总体来说非常善良,只要是测试过,几乎不会被中测阻拦。checkstyle的规则看似很多,但是在IDEA插件的支持下,见到黄色的warning直接改掉,总体来说我认为偏向于养成习惯性的举措,并不是扣分地方所在 强测(正确性): 在第一次作业之前,我十分畏惧强测的正确性,尤其是在经历了计组 手动定点爆破+10万条随机都仅是中测 的说法,但是,就前三次来看,强测的正确性并不严格。第一次作业比较简单,第二次作业我正则表达式根本就没有写对,面对这个十分巨大的问题,强测仅仅挂了我三组,我在发出强测不够强的想法的同时也暗自窃喜,而第三次作业的重点 向面向对象转移 ,对于正确性的检查更加简单,在我连爆sin(- 9),sin(++1),sin(+++1),sin(++x)4个大型bug的情况下强测一组也没挂,互测又禁掉了WF的攻击,不得不说我并不完全认同的强测数据反而救了我一命 强测(性能): 第一次作业比较简单,第二次作业我进行了初步的贪心优化,然而偷鸡不成蚀把米,优化也出现了bug

BUAA_OO Summary——多项式求导问题

断了今生、忘了曾经 提交于 2020-11-18 20:40:25
  从C、DS、计组一路折磨过来, 几乎都在采用过程化、函数式的编程思想。初接触面向对象的项目开发,经过了三周的对多项式求导问题的迭代开发,经历了设计、coding、测评环节,算是对面向对象有了一定的认识,这个过程总结了一些经验,在这里希望和大家一起share,欢迎大家给我提意见。    一、关于代码架构    1、第一次作业      主要设置了3个class   PolyComputer作为主类,进行I/O操作,正则表达式匹配,项的提取,合并同类型,排序这些操作   PolyTerm表示每一项,包含项的基本特征系数和指数,constructor(处理每个String项,提取系数和幂),以及获取和修改系数和指数,转化为String这些Methods.   PolyDerivation继承PolyTerm,修改构造器,继承PolyTerm的Methods.      整体思路分析:   1、在PolyComputer类中,使用正则表达式匹配每一项,并提取项之间的符号。(一项一项匹配可以有效防止爆栈问题,当然还可以使用独占模式进行匹配来避免,我会在后面的作业 使用到,这里推荐一个学习链接 https://blog.csdn.net/weixin_42516949/article/details/80858913 )   2、在PolyComputer类中,把提取出的符号和项进行合并

根据正则表达式生成字符串

帅比萌擦擦* 提交于 2020-01-10 15:41:30
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 比如想要生成A1到Z9的所以可能字符串 尝试了下Java下的 Generex , List<String> resultnew Generex("[A-Z]{1}[1-9]{1}").getAllMatchedStrings() 还有其他语言实现该功能: https://blog.csdn.net/yue530tomtom/article/details/83618286 看样子Automaton是比较霸道的,Generex和Xeger都是基于它 Set<String> result = new RegExp("[A-Z]{1}[1-9]{1}").toAutomaton().getFiniteStrings() 来源: oschina 链接: https://my.oschina.net/moxun/blog/3155827