编程语言
首页 > 编程语言> > 中小学数学题生成程序代码分析

中小学数学题生成程序代码分析

作者:互联网

整体的排版:

    针对同一代码段,写出优点和认为可能有的改进的地方。

 

代码段1:

      将用户信息封装成Student类。Java的类型能够把相同属性的对象抽象出来,无论是概念上还是编程上都会帮助我们理解整个系统的架构。

 

            

 

 

  虽然前面说到有将用户信息封装成类,方便管理。但是整个项目仅仅只有两个类,另外一个是主类,我觉得结构可以更加优化一些,因为Java是面向对象语言,类是很重要的一个概念,可以实现功能的解耦。比如这个项目的登陆模块和出题模块都可以设计成类,一方面可以对整个系统的架构有更清晰的认知,另一方面起码可以降低维护难度(修Bug的难度)。我这一方面的能力也很薄弱,有时候不知道功能要细化到什么程度可以收手,导致分了太多类,管理这些类花很多时间 。

 

 

 

代码段2:

 

  用户登录部分做法是重写类内的equals函数,实现了两个对象的比对来实现登录查询。之前我没想过这种方法,我的做法是拿遍历用户名来查找匹配的用户对象,王同学是通过遍历对象来匹配对象。

 

      

      

 

代码段3:

 

 

 

  试卷的查重,王同学采用的是提取当前文件夹下的所有文件内容,然后使用For循环查重。

 

      

  这里我觉得可以采用更好得方法,我之前也是这样的查重手段,受身边室友启发,决定改用Set容器存放试卷,因为Set容器本身自带去重功能,所以只要在程序初始化时载入本地试卷,新生成的试卷只要忘Set容器一放,根据反馈信息就能知道这个试题是否和之前所有的试题(已装入容器)重复,如果不重复就加入。

  

  

代码段4:

 

  生成试题的程序部分。这是我做的最不好的地方,所以我要多学习新的想法。

       王同学的思路是随机生成括号,记录下左右括号的个数,这样可以保证括号闭回。

      

   ......中间略

      

 

        王同学这样做的好处是可以较便捷准确的生成多个括号,而我只弄了一个括号。(●ˇ∀ˇ●)其实我的方法应该也能快捷生成多个括号(我将数字和符号分离成数组,根据数字的下标和括号跨距,进行插入括号),但是我以为会很容易出现这种情况   (4+5()9)+8 ,仔细想想只要检查一下就可以取除这个问题

 

 

 

 

代码段5:

 

  为当前用户真正实例化了一个临时的Student对象,用它装载信息。这个想法不错,我的做法只是保持住用户输入的用户名密码,去访问登录和生成试卷。所以看了王同学的代码收获很大

标签:同学,试卷,用户,代码段,生成,括号,数学题,中小学,程序代码
来源: https://www.cnblogs.com/zhoushihuan/p/11553104.html