---恢复内容开始---
一、项目实现语言
Java
二、项目用到模块
1. GUI:
所有操作支持窗口化模式
2. 多线程:
每个窗口由一个线程驱动,可以通过一个登陆界面,登陆多个账户,然后多个账户同时运行
每个账户的操作界面和后台生成界面是由不同的线程驱动,所以每个用户可以同时生成好多份试卷
3. 试题查重:
采用字符串哈希技术,高精度确保试题不重复
三、项目流程图
四、项目实现的需求
1、已实现:
(1)账户登陆:对账户输入用户名、密码的匹配判断,不匹配的正确提示。
(2)题目数目:用户登陆后,对输入题目生成数范围是否合法的检测,不合格的正确提示。
(3)题目切换:用户登陆后,对出题年级的切换,输入不正确的提示。
(4)账户题目保存:一个账户生成一个文件夹,不同年级按照难度要求生成输入数目的题目,以“年-月-日-时-分-秒.txt”的形式保存在对应账户的文件夹内。
(5)账户题目查重:同一个账户的卷子中的题目与以前的已生成的卷子中的题目不重复。
2、未实现
(1)生成的试卷题目每题之间没有空行。
(2)题目没包括只有两个操作数的运算。
(3)运算中括号位置没有随机生成,位置固定。
(4)初中题目不全都符合出题要求,有的题目不包括根号或平方。
(5)高中题目不全都符合出题要求,有的题目不包括sin、cos或者tan。
五、出题结果
1、小学
2、初中
3、高中
六、项目优缺点
1、优点
(1)大部分满足个人项目需求。
(2)采用了图形化界面,操作直观明了。
(3)运用多线程实现可同时登陆多个账号。
(4)题目的生成和计算可以在后台线程中计算,减少界面线程的工作量,卡顿低,操作流畅.
(5)分模块实现部分要求,模块可扩展性强。
2、缺点
(1)题目间空行需求未能实现。
(2)2位操作数的运算需求未包含。
(3)运算括号每题都有,且位置固定(前5题括号括前两个操作数,后25题括号括最后两位操作数)
(4)初中和高中的部分生成的题目不符合需求。
(5)题目生成模块代码繁琐,不同年级题目生成程序间有重复,可改进为题目生成函数,通过参数输入不同而生成不同题目,将大大增加程序易读性。
(6)程序备注过少,重要部分代码没有说明实现方法,浏览起来很费精力。
五、向队友看齐
(1)Java图形界面基本组件和容器JFrame运用熟练,私下花的时间可想而知。这种向未知领域探索的精神值得学习!
(2)采用字符串哈希的思路进行查重,这种对所学知识灵活运用的能力,是我目前正在追求的!
向队友看齐!
---恢复内容结束---