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

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

时间:2023-09-19 21:36:47浏览次数:31  
标签:生成 互评 出题 切换 卷子 HNU 输入 难度

一、功能测试

1.登录功能

  命令行输入用户名与密码,当用户名与密码都正确时,显示当前为XX出题

   正常输入时功能正常,但是当只输入用户名时发生了异常,应该是没有考虑只输入一个(没有测试bug呀!)

String str[] = in.nextLine().split("\\s+");
      nuser.setName(str[0]);
      nuser.setPassword(str[1]);

  代码没错是将字符串分成两个部分,但是没有想到人心险恶,测试的人会只输一串哈哈

2.出题功能

  当登录成功后,默认为当前老师出题难度,输入题目数量即可在对应老师文件夹生成对应难度的卷子

  经过测试后并没有发现bug,只是初中题目中的平方没有用要求的“²”而是“^”,还有在左括号右边多出来了一个空格(这都被我发现了)

  建议出题后提示一下出完的题目的路径,方便查找,还有将所有存放卷子的文件夹放在一个总的文件夹中

3.切换与退出

  当登录后,输入-3后可以切换出题难度,输入切换为XX即可切换到对应难度

  可以正常切换,并且切换后显示已切换到对应难度,也可以进行正常的出题

  输入-1后可进行退出,每当切换一次难度过后,就要多输入一次-1才可以退出(应该可以进行优化)

二、代码分析

1.Start

  Start类用来登录程序,并且根据登录老师的职位来生成不同难度的出题类,即ptest、mtest、htest,使用了面向对象设计模式的工厂模式,但是没有生成一个抽象基类,这个分被扣的有点可惜。

2.ptes、mtest、htest

  这三个类的逻辑相同都是生成对应难度的卷子,使用get_Pastproblem类来返回该文件夹所有生成的卷子的一个Hashset集合用来查重,使用Creat_problem类来生成不同难度的题目,使用循环来生成多次题目,但是在切换难度时,调用了change函数,导致出现了一点点小Bug(用户出不去了T_T)

3.change

 

  public static void change1(String uName, String cTo) {
    if (cTo.equals("切换为小学")) {
      ptest pnewType = new ptest();
      pnewType.pCreate(uName);
    }
    if (cTo.equals("切换为初中")) {
      mtest mnewType = new mtest();
      mnewType.mCreate(uName);
    }
    if (cTo.equals("切换为高中")) {
      htest snewType = new htest();
      snewType.sCreate(uName);
    }
  }

  因为每次切换都会生成一个出题类,导致每次切换都要多退出一次

三、优缺总结

优点:韩旭同学的代码使用面向对象的知识,将之前所学过的知识充分利用,我在看过代码之后才意识到之前学习过的设计模式可以用在所写的项目中,代码所使用的类很多,很多都是我没有见过的函数,这点我要学习,因为我发现好多java自带的函数要比自己写出的函数要高效且简洁,可以大大提高代码的效率

缺点:有几处不经过多次测试而出现的Bug,希望可以多检查几次代码,防止出现这种隐藏的Bug

 

 

 

 

 

 

 

标签:生成,互评,出题,切换,卷子,HNU,输入,难度
From: https://www.cnblogs.com/qianqiu77/p/17715857.html

相关文章

  • 个人项目互评
    软件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......
  • HNU软件工程导论个人项目互评
    湖南大学结对编程之个人项目互评本次博客主要内容是分析结对编程队友的个人项目分析代码作者:谢昶皓分析人:杨虎强目录湖南大学结对编程之个人项目互评本次博客主要内容是分析结对编程队友的个人项目一、分析项目需求中的“坑”1、出题之“坑”1)每个用户出的题目是否符合用......