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.
|
|
3 months ago | |
|---|---|---|
| .. | ||
| README.md | 3 months ago | |
README.md
mathlearningapp
mathlearningapp
数学学习软件 - 版本演进文档
项目概述
数学学习软件是一个基于Java Swing开发的桌面应用程序,旨在为不同学习阶段(小学、初中、高中)的学生提供数学题目练习和测试功能。软件采用模块化设计,包含用户管理、题目生成、答题测试等核心功能。
版本演进历史
版本1.0 - 基础版本
核心功能
- 用户管理:邮箱注册、登录、密码修改
- 题目生成:小学、初中、高中三个级别的题目生成器
- 答题系统:选择题形式,支持自定义题目数量
- 成绩统计:显示得分和正确率
技术特点
- 使用CardLayout实现多面板切换
- 基础的用户验证系统
- 简单的题目生成算法
主要类结构
User - 用户类
Question - 题目类
QuestionGenerator - 题目生成器抽象类
PrimaryQuestionGenerator - 小学题目生成器
JuniorQuestionGenerator - 初中题目生成器
SeniorQuestionGenerator - 高中题目生成器
UserManager - 用户管理类
MathLearningApp - 主应用程序类
版本2.0 - 功能增强版
新增功能
- 用户名系统:引入用户名概念,不再仅依赖邮箱
- 界面美化:改进UI设计,添加颜色和样式
- 验证码系统:注册时发送验证码
- 欢迎界面:登录后显示个性化欢迎信息
技术改进
- 改进的用户管理,支持用户名和邮箱双重索引
- 增强的题目生成逻辑
- 更友好的用户界面
版本3.0 - 算法优化版
核心改进
- 题目生成优化:
- 小学:操作数数量扩展为1-5个
- 初中:支持混合运算和平方/开方运算
- 高中:三角函数使用特殊角度,确保结果合理
- 表达式计算:引入JavaScript引擎计算复杂表达式
- 输入验证:题目数量限制为10-30题
技术升级
- 更健壮的题目生成算法
- 改进的错误处理机制
- 优化的用户交互体验
版本4.0 - 企业级版本
重大改进
- 数据持久化:用户数据序列化保存到文件
- 表达式计算器:自定义表达式计算引擎
- 包管理:添加com.hnu包结构
- 代码重构:大幅优化代码结构和算法
新增特性
- 文件存储:用户数据自动保存和加载
- 高级计算:支持括号和运算优先级
- 健壮性提升:完善的异常处理和输入验证
核心功能详解
1. 用户管理系统
版本演进
- 1.0:基于邮箱的简单用户管理
- 2.0:引入用户名系统,双重索引
- 4.0:数据持久化,文件存储
功能特性
- 用户注册(邮箱验证)
- 用户登录
- 密码修改
- 数据持久化(4.0+)
2. 题目生成系统
小学题目
- 运算符:+、-、*、/
- 特点:支持括号,2-4个操作数
- 演进:从简单运算到支持复杂表达式
初中题目
- 类型:基本运算、平方、开方
- 特点:混合运算,确保完全平方数
- 演进:算法优化,结果更合理
高中题目
- 类型:三角函数、复合表达式
- 特点:使用特殊角度,避免极端值
- 演进:从简单三角函数到复合表达式
3. 答题与评分系统
答题流程
- 选择学习阶段
- 输入题目数量
- 逐题作答
- 查看成绩
评分机制
- 实时计分
- 百分比显示
- 成绩评级(优秀、良好、及格、加油)
技术架构
设计模式应用
- 工厂模式:题目生成器
- 单例模式:用户管理
- 策略模式:不同级别的题目生成
核心算法
表达式计算(版本4.0)
// 支持括号和运算优先级
public static double calculate(String expression) {
// 递归处理括号
// 先乘除后加减
// 完善的错误处理
}
题目生成
// 确保题目多样性和合理性
public Question generateQuestion() {
// 操作数数量随机
// 运算符随机选择
// 错误答案生成算法
// 选项随机排序
}
部署与使用
环境要求
- Java 8+
- 支持Swing的Java环境
运行方式
javac MathLearningApp.java
java MathLearningApp
测试账户
- 用户名:测试用户
- 密码:Test123
版本对比总结
| 特性 | 1.0 | 2.0 | 3.0 | 4.0 |
|---|---|---|---|---|
| 用户管理 | 基础 | 增强 | 增强 | 持久化 |
| 题目生成 | 简单 | 改进 | 优化 | 高级 |
| 界面设计 | 基础 | 美化 | 优化 | 专业 |
| 数据存储 | 内存 | 内存 | 内存 | 文件 |
| 计算能力 | 基础 | 基础 | 引擎 | 自定义 |
| 代码结构 | 简单 | 模块化 | 优化 | 企业级 |
未来发展建议
- 数据库集成:替换文件存储为数据库
- 网络功能:添加在线排名和题目分享
- 移动端:开发Android和iOS版本
- AI辅助:集成智能题目推荐
- 多媒体:添加题目解析视频功能