湖南大学个人项目互评

news/发布时间2024/8/24 18:28:54

湖南大学个人项目互评

以下对高茂庭的个人项目代码进行评析:

一、项目需求

用户:

小学、初中和高中数学老师。

功能:

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:账户、密码

 

账户类型

账户

密码

备注

小学

张三1

123

 

张三2

123

 

张三3

123

 

初中

李四1

123

 

李四2

123

 

李四3

123

 

高中

王五1

123

 

王五2

123

 

王五3

123

 

附表-2:小学、初中、高中题目难度要求

 

小学

初中

高中

 

难度要求

+,-,*./

平方,开根号

sin,cos,tan

 

备注

只能有+,-,*./和()

题目中至少有一个平方或开根号的运算符

题目中至少有一个sin,cos或tan的运算符

 

二、功能测试

1.登录->出题

生成文件及位置:

功能正常

 2.登录->退出->登录->切换题目难度

 功能正常

三、代码分析

 1.ElementarySchoolExam.java

两个函数分别实现一道问题的生成和一套试卷的生成,条理较为清晰,要求均实现,且代码重要节点有注释解释,除了代码规范有些许瑕疵,整体较为完善。

2.GenerateExam.java

这个类实现文件的写入和读取,二者皆为文件读写相关功能,实现与文件的交互,并且地址选择并未定死为绝对地址;但读写文件并未使用诸如try,catch结构防止读写错误情况的发生。

3.HighSchoolExam.java、JuniorHighSchoolExam.java

实现初中难度与高中难度的题目的生成,因代码较长且与小学难度题目生成结构类似,不再贴图。

但高中难度题目生成类中存在方法函数过长问题。

4.User.java

 用户的抽象类

5.UserManage.java

代码较长,仅贴部分代码

交互人性化,每一个步骤均有提示,输入错误则经过判断后返回且有反馈,输入正确则提示下一步的输入及规范;

每一个模块分类清晰,每一步交互区分开单独作为一个函数,整个结构较为简洁。

 6.Main.java

 主函数

四、总体分析

优点:

整体代码基本符合代码规范,清晰明了,并且中间关键代码处有注释解释,整体依据功能实现分为七个类,每个类所实现的功能区分明显;

项目所要求的实现的功能,经过测试,都有效实现了;

整个程序运行过程中,交互功能较为完善,有详细的操作提示以及错误操作反馈;

地址采用相对地址,在他人运行程序时能够轻松执行、测验;

缺点:

存在部分的代码规范问题,如代码缩进问题等;

有部分方法函数的实现较为冗杂,超过了要求的40行;

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.liansuoyi.cn/news/64233802.html

如若内容造成侵权/违法违规/事实不符,请联系连锁易网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

解析vue项目、

解析一下vue项目 1 为什么浏览器中访问某个地址,会显示某个页面组件//-根组件:App.vue 必须是<template><div id="app"><router-view></router-view></div></template>//-1 配置路由router----》index.js---》const routes =…

再次尝试放出被屏蔽的百度蜘蛛网段

昨天发布的博文蜘蛛的依旧疯狂与园子的新畅想:尝试放出被屏蔽的百度蜘蛛网段引起了百度的关注,晚上联系了我们,经过商量达成一个解决方法——百度会限制一下蜘蛛抓取时的最高QPS。 今天晚上 18:16:13,我们再次尝试放出被屏蔽的百度蜘蛛网段 116.179.37.0/24,一看 CPU 波动…

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

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

关于Alist的美化记录●其一

前言:近期心血来潮想搭建个个人的媒体服务器,在处理好域名及内网后看着Alist网盘总感觉少了点什么,故尝试对其进行简单美化。 本次美化纯取悦自己,该随笔不一定有下文。 目前仅做了背景的相关改动,其余的慢慢摸索,其他终端的背景设置以右端显示,实际效果一般,播放器的引…

iOS应用程序发布流程:从测试到上架的完整指南

​目录转载:iOS应用程序的签名、重签名和安装测试 前言 打开要处理的IPA文件 设置签名使用的证书和描述文件 开始ios ipa重签名 转载:iOS应用程序的签名、重签名和安装测试 前言 ipa编译出来后,或者ipa进行修改后,需要进行重新签名才能安装到测试手机,或者提交app store供…

windows下安装和配置hadoop

1.安装hadoop 下载hadoop,下载地址: https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/ 建议不要下载最高版本,而是下载稳定版本,我下载的是3.2.3版本;将压缩包解压到安装目录,注意安装目录的路径中不要有空格; 我将hadoop压缩包解压到D:\ruanjian\hadoop路径…

Cesium常用功能封装,js编码,每个功能独立封装——第2篇

WebGIS Cesium 编程Cesium常用功能封装,js编码,每个功能独立封装,方便直接应用到项目中。本篇紧接着第一篇来写,第一篇链接: https://www.cnblogs.com/haimaqu/p/17719747.html 本脚手架可以前端独立运行。本脚手架项目是前后端一整套,包括权限管理。前端框架采用Vue3 + …

RabbitMQ实例-天狼(与黑马基础混合使用)

RabbitMQ讲义 引言: 中国被世界黑的最惨的一天 2007年10月30日,北京奥运会门票面向境内公众第二阶段预售正式启动。上午一开始,公众提交申请空前踊跃。上午9时至10时,官方票务网站的浏览量达到了800万次,票务呼叫中心热线从9时至10时的呼入量超过了380万人次。由于瞬间访问…

工作随记

1、查询机器的磁盘内存的情况 df -h 2、查询机器的cpu的情况 lscpu 3、查询机器的gpu的情况 nvidia-smi 3、deployment:在Kubernetes中,Deployment是一种资源对象,它定义了一组Pod的期望状态。Deployment可以帮助用户管理Pod的创建、更新和删除,保证应用的高可用性和可扩展…

莫比乌斯反演乱写

太久没有写莫反的题,忘完了。。。 简单写写当总结 常见数论函数 \(e(x) = [x = 1]\) \(I(x) = 1\) \(id(x) = x\) 以上函数完全积性 \(\varphi(x) = \sum \limits_{i = 1}^{x - 1} [\gcd(i, x) == 1]\) \(\mu = I ^{-1}\) \(d(x) = \sum \limits_{i = 1} ^ {x} [i \mid x]\) 以…

maven 中的 archetype 原型修改

maven 添加更多版本的 archetype目的: 添加idea 新建项目时,选择更多版本的 archetype 原型找到目录 D:\KaiFa\maven\repositorys\org\apache\maven\archetype\archetype-catalog\3.2.1 添加 archetype-catalog-3.2.1-myset.xml 文件点击查看代码 <?xml version="1.…

【matplotlib基础】--动画

matplotlib的动画一直是一个强大但使用频率不高的功能,究其原因,一方面展示动画需要一定的媒介,没有图形和文字展示方便;二来大家更关心的是分析结果的最终图表,图表的动态展示则没有那么重要。 不过,随着短视频的兴起,在短视频平台上展示动画变得非常容易,所以,我们发…

@参保人 本市医保报销比例是多少?看这里

@参保人 本市医保报销比例是多少?看这里日期:2023-09-20 10:10 来源:北京市医疗保障局北京市城镇职工基本医疗保险待遇目前,本市在职职工医院门(急)诊报销比例达到70%,退休人员达到85%,社区卫生机构报销比例均为90%,门诊报销2万元以上,再发生医疗费用,在职职工报…

读高性能MySQL(第4版)笔记12_查询性能优化(下)

查询性能优化1. “快速、精确和实现简单” 1.1. 三者永远只能满足其二,必须舍掉一个 2. 排序优化 2.1. 无论如何排序都是一个成本很高的操作,所以从性能角度考虑,应尽可能避免排序或者尽可能避免对大量数据进行排序 2.2. 文件排序(filesort) 2.2.1. MySQL需要自己进行排序…

面试问题之如何解释微服务

这次的面试还是感觉非常愉快,没有那么憋屈,问的问题也非常有意思。 问题 假设现在有一个人完全不懂微服务,你能和对方解释下什么是微服务吗?面试回答 这个问题如果要完全回答好,感觉不是那么容易。 什么是微服务 很多人都知道现代的开发流程多是前后端分离,后端采用部署服…

Java 8 和 11 开始提供的新特性面试

说下 Lambda function Lambda 是 JDK 8 以后的版本才提供的功能。 在 JDK 8 之前是没有的。 Java Lambda表达式 的一个重要用法是简化某些匿名内部类 (Anonymous Classes )的写法。实际上Lambda表达式并不仅仅是匿名内部类的语法糖,JVM内部是通过invokedynamic 指令来实现La…

传统的经典问题 Java 的 Interface 是干什么的

传统的经典问题 Java 的 Interface 是干什么 解答 上面的这个问题应该还是比较好回答的吧。 只要你做过 Java ,通常 Interface 的问题多多少少会遇到,而且可能会遇到一大堆。 在JAVA编程语言中是一个抽象类型(Abstract Type),它被用来要求类(Class)必须实现指定的方法,使…

Eclipse 安装 Lombok

小辣椒 Lombok 在 IDEA 中是可以自动启用进行安装的。 但在 Eclipse 中就发麻烦点了,需要手动下载包,然后进行安装。 找到需要的包 使用 Lombok 版本比较高的包就好了。上面我们可以自己下载 1.18.28 的版本到 Eclipse 的安装目录中。通过命令行运行直接运行 java -jar lombo…

AppleScript成功实现FaceTime语音,FaceTime视频,FaceTime数据筛选,检测手机号是否开通FaceTime实现

FaceTime是苹果公司iOS和macOS(以前称Mac OS X或OS X)内置的一款视频通话软件,通过Wi-Fi或者蜂窝数据接入互联网,在两个装有FaceTime的设备之间实现视频通话。其要求通话双方均具有装有FaceTime的苹果设备,苹果ID以及可接入互联网的3G/4G/5G或者Wi-Fi网络。一、Windows电脑…

Cplex求解教程(基于OPL语言,可作为大规模运算输入参考)

针对大规模线性优化问题的Cplex求解思路,使用Cplex中的OPL语言实现最近导导让牛牛改篇论文,牛牛在她的指导下把非线性问题化成了线性。然鹅,化成线性后的模型决策变量和约束条件均达到上百甚至上千个,这让牛牛犯了难,以下方法或许能为这样大规模模型的变量和约束输入提供思…
推荐文章