You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
hnu202326010306 0e62cb10fa
Merge pull request '111' (#3) from wusizhao_branch into main
4 months ago
.idea Initial commit 4 months ago
src Initial commit 4 months ago
README.md 111 4 months ago

README.md

中小学数学学习软件

项目简介

这是一个基于Java Swing开发的中小学数学学习软件支持小学、初中和高中三个学段的数学题目生成和答题功能。软件采用MVC架构设计具有良好的用户界面和用户体验。

功能特性

1. 用户注册与登录

  • 用户通过邮箱进行注册
  • 注册时发送验证码到邮箱(模拟)
  • 密码要求6-10位必须包含大小写字母和数字
  • 登录状态下可以修改密码

2. 题目生成

  • 根据用户选择的学段(小学、初中、高中)生成相应难度的数学题目
  • 题目全部为选择题形式
  • 同一张试卷不能有相同题目

3. 答题功能

  • 界面显示题目和四个选项
  • 用户选择答案后提交
  • 自动跳转到下一题
  • 最后一题提交后显示分数

4. 分数统计

  • 根据答对的百分比计算分数
  • 显示详细答题结果
  • 提供继续做题或退出选项

技术架构

MVC架构

  • Model模型: User, Question, QuestionGenerator等业务逻辑类
  • View视图: 各种Swing界面类LoginFrame, MainFrame等
  • Controller控制器: 事件处理逻辑和业务协调

核心类说明

  1. MainApplication: 程序入口点
  2. LoginFrame: 登录界面
  3. RegistrationFrame: 注册界面
  4. MainFrame: 主界面(学校类型选择)
  5. QuestionCountFrame: 题目数量设置界面
  6. QuizFrame: 答题界面
  7. ScoreFrame: 分数显示界面
  8. ChangePasswordFrame: 修改密码界面

题目生成器

  1. QuestionGenerator: 题目生成器基类
  2. PrimarySchoolGenerator: 小学题目生成器
  3. MiddleSchoolGenerator: 初中题目生成器
  4. HighSchoolGenerator: 高中题目生成器

运行要求

  • Java 8或更高版本
  • 支持Swing的桌面环境

运行方式

直接双击运行项目根目录下的run_jar.bat批处理文件即可启动程序。

使用说明

1. 注册新用户

  1. 启动程序后进入登录界面
  2. 点击"注册"按钮
  3. 输入邮箱地址,点击"发送验证码"
  4. 输入收到的验证码
  5. 设置符合要求的密码
  6. 完成注册

2. 登录系统

  1. 输入已注册的邮箱和密码
  2. 点击"登录"按钮

3. 选择学校类型

  1. 登录后进入主界面
  2. 选择小学、初中或高中

4. 设置题目数量

  1. 输入需要生成的题目数量1-50
  2. 点击"开始答题"

5. 答题

  1. 阅读题目和选项
  2. 选择认为正确的答案
  3. 点击"下一题"继续
  4. 最后一题点击"提交答案"

6. 查看结果

  1. 系统显示得分和正确率
  2. 可以选择"继续做题"或"退出"

项目结构

B1/
├── src/                    # 源代码目录
│   ├── MainApplication.java    # 程序入口
│   ├── LoginFrame.java         # 登录界面
│   ├── RegistrationFrame.java  # 注册界面
│   ├── MainFrame.java          # 主界面
│   ├── QuestionCountFrame.java # 题目数量设置
│   ├── QuizFrame.java          # 答题界面
│   ├── ScoreFrame.java         # 分数显示
│   ├── ChangePasswordFrame.java # 修改密码
│   ├── UserManager.java        # 用户管理
│   ├── User.java               # 用户类
│   ├── Question.java           # 题目类
│   ├── QuestionGenerator.java  # 题目生成器基类
│   ├── PrimarySchoolGenerator.java # 小学题目生成器
│   ├── MiddleSchoolGenerator.java # 初中题目生成器
│   ├── HighSchoolGenerator.java   # 高中题目生成器
│   ├── MathCalculator.java     # 数学计算器
│   └── FileManager.java        # 文件管理
├── .gitignore                 # Git忽略文件
└── README.md                  # 项目说明

开发规范

  1. 代码规范: 遵循Java编码规范
  2. 类设计: 每个类职责单一,符合面向对象设计原则
  3. 方法长度: 方法代码行数不超过40行
  4. 注释: 重要方法和类添加必要的注释

注意事项

  • 本项目不使用数据库存储数据,用户数据存储在文件中
  • 验证码发送功能为模拟实现,实际使用时需要集成邮件服务
  • 题目生成和计算功能为简化实现,实际应用需要更完善的数学表达式解析

版本信息

  • 版本: 1.0
  • 开发语言: Java
  • UI框架: Swing
  • 架构: MVC