首页 > 编程语言 >【个人项目互评】 —中小学自动生成试卷程序(Java版)

【个人项目互评】 —中小学自动生成试卷程序(Java版)

时间:2023-09-22 10:47:05浏览次数:42  
标签:题目 试卷 整数 生成 互评 XX Java 代码 输入

本次代码互评我选择的邱文静同学的代码进行互评;下面是我对她的代码的分析:

一、题目要求

1、命令行输入用户名和密码,两者之间用空格隔开(程序预设小学、初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示“当前选择为XX出题”,XX为小学、初中和高中三个选项中的一个。否则提示“请输入正确的用户名、密码”,重新输入用户名、密码;

2、登录后,系统提示“准备生成XX数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):”,XX为小学、初中和高中三个选项中的一个,用户输入所需出的卷子的题目数量,系统默认将根据账号类型进行出题。每道题目的操作数在1-5个之间,操作数取值范围为1-100;

3、题目数量的有效输入范围是“10-30”(含10,30,或-1退出登录),程序根据输入的题目数量生成符合小学、初中和高中难度的题目的卷子(具体要求见附表)。同一个老师的卷子中的题目不能与以前的已生成的卷子中的题目重复(以指定文件夹下存在的文件为准,见5);

4、在登录状态下,如果用户需要切换类型选项,命令行输入“切换为XX”,XX为小学、初中和高中三个选项中的一个,输入项不符合要求时,程序控制台提示“请输入小学、初中和高中三个选项中的一个”;输入正确后,显示“”系统提示“准备生成XX数学题目,请输入生成题目数量”,用户输入所需出的卷子的题目数量,系统新设置的类型进行出题;

5、生成的题目将以“年-月-日-时-分-秒.txt”的形式保存,每个账号一个文件夹。每道题目有题号,每题之间空一行;

二、运行界面

 登陆界面:

用户界面:

保存题目的路径:

三、代码分析

1、总体分析:该同学的代码分的很细,每个类的代码简洁明了,便于阅读和修改,使用了大量的抽象类便于继承完成所需功能,但是美中不足的是最后的代码在我的电脑上运行生成的题目不是用“.txt”格式保存。

2、UML类图

 3、部分代码详细分析

查重部分:

 

接受五个参数:

  • min:生成随机整数的最小范围。
  • max:生成随机整数的最大范围。
  • n:要生成的随机整数数量。
  • recent:包含先前出现的整数的数组。
  • now:已经出现的整数数量。

目标是生成一个包含 n 个不包含在 recent 数组中的随机整数的数组。

 

 这段代码初始化了一个名为 allnum 的整数数组,其中包含了从 minmax 的所有整数。如果传入的参数不满足生成条件(如 max 小于 minn 大于可用整数范围),则返回 null

 这段代码使用随机数生成器 Random 来生成随机整数,并将它们存储在 result 数组中。在每次迭代中,它首先生成一个随机索引 index,然后检查是否 recent 数组包含了 allnum[index] 中的整数。如果不包含,就将这个整数存储在 result 数组中,并在 allnum 数组中替换掉原来的位置。这确保了生成的随机整数不会重复。以此实现查重功能。

四、总结

通过这次互评我能够学习到不同同学对于相同项目不同的处理方式,打破了我解题的固有思维,让我能更全面的去考虑问题,同时也简化了我对问题的思考,总的来说是一次很好的体验,这会对我未来的学习有极大帮助。

标签:题目,试卷,整数,生成,互评,XX,Java,代码,输入
From: https://www.cnblogs.com/yysgxkaa/p/17717883.html

相关文章

  • javascript数据类型
    原视频:https://www.bilibili.com/video/BV15T411j7pJ?p=9&vd_source=9752cdd43d8570cd76479220c765bc34一、数据类型分类number:数字类型,整型,浮点型,二进制,十六进制(如0x99=十进制的9*16+9=153),八进制,NaNstring:字符串boolean:布尔型truefalseundefined:未定义类型null:空对象unde......
  • javascript: The Best Guided Tour Plugin
    BestTourPluginsToGuideVisitorsThroughYourApphttps://yonkov.github.io/post/display-shepherd-only-once/https://www.jqueryscript.net/blog/best-guided-tour.htmlhttps://whatfix.com/blog/react-onboarding-tour/https://github.com/shipshapecode/shepherdhtt......
  • Java 中for循环和foreach循环哪个更快?
    摘要:本文由葡萄城技术团队于博客园发布。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言在Java编程中,循环结构是程序员常用的控制流程,而for循环和foreach循环是其中比较常见的两种形式。关于它们哪一个更快的讨论一直存在。本文......
  • Odoo 通过Javascript调用模型中自定义方法
    实践环境Odoo14.0-20221212(CommunityEdition)代码实现在js脚本函数中调用模型中自定义方法:this._rpc({model:'demo.wizard',//模型名称,即模型类定义中_name的值method:'action_select_records_via_checkbox',//模型中自定义名称args:['arg_value......
  • odoo中用javascript调用model中定义好的方法,及要注意的坑
    odoo中如果前端界面要调用后台model中写好的方法,很简单。使用do_action即可,比如要调用改res.users的默认语言后执行的方法odoo.define('switch_language.SwitchLanguageMenu',function(require){"usestrict";varModel=require('web.Model');varsessi......
  • JAVA 后端 记录方法运行时间
     LocalDateTimeldStart=LocalDateTime.now();//记录开始时间//中间是需要计算时间的代码段落LocalDateTimeldEnd=LocalDateTime.now();//记录结束时间Durationdu=Duration.between(ldStart,ldEnd);LongcostSeconds=du.toMillis()/1000;System.out.println("postNurseCo......
  • 个人项目分析互评
    目录:简介项目要求代码测试代码分析总结   正文:一、简介   本博客是对结对编程同学所完成的个人项目的分析与总结,他所完成的项目是中小学生数学试卷自动生成系统。对方编写所用语言是java,经过测试均能正常运行。 二、项目要求本次个人项目的需求如下:用户:......
  • HNU个人项目中小学数学卷子自动生成程序互评
    一、简介本博客是对结对编程队友代码的分析与总结,代码使用语言为C++。完成情况:很好的实现了项目的需求,功能完整。同时每个页面的提示信息都比较完整,在不需要他人协助的情况下,可以根据屏幕上的提示信息进行操作,如果用户输入不正确,系统会出现指示,显示正确输入格式,用户可根据提示继......
  • java内存分配(堆,栈,方法区,常量池)图解
    大家都知道,java程序是运行在jvm(java虚拟机)上的,因此Java的内存分配是在JVM中进行的。那么在程序内存分配上面,大致分为:本地方法栈、程序计数器、虚拟机栈、java堆、方法区。这五类,本次主要讲解的是虚拟机栈、java堆和方法区中的内容。栈:存放基本数据类型的数据、引用数据类型的变量......
  • JAVA基础 —— 面向对象内存图
    JAVA基础——面向对象内存图......