首页 > 编程语言 >HNU个人项目互评——中小学数学卷子自动生成程序

HNU个人项目互评——中小学数学卷子自动生成程序

时间:2023-09-19 22:11:35浏览次数:27  
标签:题目 代码 程序 生成 互评 Java HNU 卷子 编写

结对编程互评

  • 代码作者:软件2104 潘胜蓝
  • 互评作者:软件2104 苏晨阳

一、摘要

  1. 该作业是由潘胜蓝同学使用Java语言完成的“中小学数学卷子自动生成程序”。
  2. 在代码设计方面,对小学教师、初中教师、高中教师三种角色属性进行了抽象提取,利用java抽象类和继承的优点进行编写;通过自行编写package、使用二叉树进行运算式的查重和用户的各项功能划分,使得代码结构清晰明朗;通过遵循Google Java的代码规范,潘胜蓝同学的代码也非常的美观;
  3. 在功能实现方面,实现了用户的登录和退出、账号角色的分配和切换以及各角色对应题目类型的生成及输出;通过对题目文件生成路径的设置,该程序可以在工程所在的相对路径下生成账号文件夹及以当前系统时间作为名称的题目文件;同时,该程序也实现了对非标准输入的过滤,拥有较高的鲁棒性,降低了程序崩溃的概率,大大提高用户体验。

二、技术栈

  • 编程语言:Java;
  • 编译平台:Intelij IDEA 2023;
  • 操作系统:Windows 10/Windows 11;

三、代码结构

1、Main.java

该文件内包含main函数,为程序入口


设置Node类、Account类接收相应参数;

User类继承UserAccount抽象类,设置了多个public成员变量及数据结构,同时对各项功能进行分方法编写,包括登录、账号密码校验、获得当前账号出题类型、输入各项出题参数、生成题目并查重以及最终将题目保存至指定文件夹内等;代码整洁有序,方法之间调用关系明确,可读性强;

程序入口main函数当中,通过调用预制接口实现各类功能;

2、package useraccount

该包内包含抽象类声明文件。

①UserAccount.java

声明public属性的基类,并声明成员变量和无参/有参构造函数,方便子类的继承。

四、运行测试

1、登录

2、生成题目

3、切换账号类型

4、退出登录


五、优缺点总结

1、优点

  1. 代码结构方面:通过各项功能的实现和整体代码的编写,足以看出潘胜蓝同学熟知Java代码编写规范,并且能够应用到具体的编写过程中去;变量和函数的命名均采用了驼峰命名法,使得代码的美观程度进一步提高,有利于后续的功能迭代和多人合作编写;
  2. 数据结构选择方面:使用树结构作为题目生成和去重的载体,巧妙利用了树结构在表示中缀、后缀表达式时清晰的结构和优异的性能,同时设计了相应的算法对题目去重的时间复杂度和空间复杂度都进行了优化,较为合理的平衡了去重程度和程序运行速度,是一种不错的思路,值得学习;

2、不足

  1. 类的编写略显臃肿:在User类中编写了过多的方法,使得程序的种种方法和User类的耦合度较高,不利于后续迭代;
  2. 注释部分:代码中必要的注释较少,在面向多人合作编程时会对他人理解代码产生一定的阻碍。

标签:题目,代码,程序,生成,互评,Java,HNU,卷子,编写
From: https://www.cnblogs.com/swhx/p/17715914.html

相关文章

  • HNU个人项目互评:中小学数学卷子自动生成程序
    一、功能测试1.登录功能命令行输入用户名与密码,当用户名与密码都正确时,显示当前为XX出题 正常输入时功能正常,但是当只输入用户名时发生了异常,应该是没有考虑只输入一个(没有测试bug呀!)Stringstr[]=in.nextLine().split("\\s+");nuser.setName(str[0]);......
  • 个人项目互评
    软件2103桑健康队友李明胜功能测试登录模块需求:系统提示“准备生成XX数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):”,XX为小学、初中和高中三个选项中的一个,用户输入所需出的卷子的题目数量,系统默认将根据账号类型进行出题。每道题目的操作数在1-5个之间,操作数取......
  • 个人项目互评
    本博客为湖南大学2021级软件工程导论课程的结对小组个人项目互评。根据本课程“做中学”的要求,我们第一周完成了个人项目代码,现在结对完成代码互评。编程语言:C++结对成员:顾问、郑雨凡文章作者(评价人):顾问代码作者:郑雨凡一、个人项目要求:用户:小学、初中和高中数学老师......
  • HNU个人项目中小学数学卷子自动生成程序互评
    一、简介本博客是对结对编程队友代码的分析与总结,代码使用语言为JAVA。完成情况:很好的实现了项目的需求,功能完整。同时每个页面的提示信息都比较完整,在不需要他人协助的情况下,可以根据屏幕上的提示信息进行操作,如果用户输入不正确,系统会出现指示,显示正确输入格式,用户可根据提示......
  • 【HNU 个人项目互评】结对编程互评-Java
    【结对编程互评-Java】中小学数学卷子自动生成程序项目名称:中小学数学卷子自动生成程序编程语言:Java代码作者:张钉评价人:张诗泉目录1项目要求1.1目标用户1.2实现功能2代码分析3功能测试3.1登录功能测试3.2出题功能测试3.3保存与查重功能测试4优缺......
  • 个人项目互评
    这两天完成了和谢文琛同学的个人项目作业互评。一.功能测试: 能够正常登录各用户且出题符合要求小学难度: 初中难度: 高中难度: 切换难度可以正常实现 输入-1后退出到登录界面 二.优点:1.首先非常完整地实现了系统所需要的功能,生成题目也符合要求。    ......
  • hnu个人编程项目评价
    一、简介1.项目名称:中小学数学卷子自动生成程序2.编程语言:JAVA3.完成情况:按照个人项目需求完成了要求的功能4.完成同学:朱智星,评价者:杨安然5.项目需求:5.1、命令行输入用户名和密码,两者之间用空格隔开(程序预设小学、初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根......
  • 中小学数学卷子生成程序-个人项目互评
    一、项目需求用户:小学、初中和高中数学老师。功能:命令行输入用户名和密码,两者之间用空格隔开(程序预设小学、初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示“当前选择为XX出题”,XX为小学、初中和高中三个选项中的一个。否则提示“请输入正确的用户......
  • 分析队友个人项目:中小学数学卷子自动生成程序
    一、前言  上周完成了个人项目的编写。这里对伙伴的个人项目代码稍作分析,学习她的长处,分析不足,使我们都能得到进步。二、分析(一)功能需求:  总的来说,队友的项目实现了老师给出的需求,可以进行登录、切换登录、出题、题目查重、切换试卷类型等功能。在对细节的处理上,队友的......
  • 湖南大学结对编程个人项目互评
    湖南大学结对编程个人项目互评分析对象:鲁旭同学的个人项目分析人:王明扬一、项目需求用户:小学、初中和高中数学老师。功能:1、命令行输入用户名和密码,两者之间用空格隔开(程序预设小学、初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示“当前选择为X......