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
Violet 45edeab7c5
v2.0
5 months ago
lib V2.0-beta 5 months ago
src v2.0 5 months ago
target/maven-status/maven-compiler-plugin/compile/default-compile v2.0 5 months ago
Math.exe v2.0 5 months ago
README.md v2.0 5 months ago
pom.xml v2.0 5 months ago
users.json v2.0 5 months ago

README.md

小初高数学学习系统

项目简介

这是一个基于Java Swing开发的数学学习软件专门为小学、初中和高中学生设计。系统提供个性化的数学题目生成、答题练习和成绩记录功能支持用户注册、登录和密码管理。

功能特性

用户管理

  • 用户注册:支持邮箱、用户名、密码和年级选择注册
  • 用户登录:支持邮箱或用户名登录
  • 密码修改:安全的密码修改功能
  • 数据持久化用户数据使用JSON格式存储

题目生成

  • 分级题目:根据用户年级(小学、初中、高中)生成相应难度的数学题目
  • 智能去重:避免重复题目,确保练习效果
  • 题目保存:自动保存生成的题目到用户专属文件夹

答题系统

  • 选择题形式每题提供4个选项
  • 实时评分:答题后立即显示结果
  • 成绩记录:记录每次练习的成绩

年级适配

  • 小学:基础四则运算
  • 初中:包含平方、平方根运算
  • 高中:包含三角函数运算

技术架构

开发环境

  • 语言Java 11
  • 构建工具Maven
  • GUI框架Swing
  • 数据格式JSON

项目结构

src/
├── model/              # 数据模型层
│   ├── UserManager.java    # 用户管理
│   ├── QuestionMaker.java  # 题目生成器
│   ├── Question.java       # 题目模型
│   ├── Grade.java         # 年级枚举
│   ├── PrimaryMaker.java   # 小学题目生成
│   ├── MiddleMaker.java    # 初中题目生成
│   └── HighMaker.java      # 高中题目生成
├── ui/                 # 用户界面层
│   ├── MathLearningApp.java    # 主程序入口
│   ├── LoginFrame.java         # 登录界面
│   ├── RegisterDialog.java     # 注册对话框
│   ├── GradeSelectionFrame.java # 年级选择界面
│   ├── QuizFrame.java          # 答题界面
│   ├── ResultFrame.java        # 结果界面
│   ├── UserSettingsDialog.java # 用户设置
│   └── ChangePasswordDialog.java # 修改密码
├── others/          # 资源文件
└── Math.exe                    # 可执行文件    

依赖库

  • Gson 2.10.1JSON数据处理
  • JavaMail 1.6.2:邮件功能支持
  • JAF 1.1.1JavaBeans激活框架

安装与运行

环境要求

  • Java 11 或更高版本
  • Maven 3.6 或更高版本

直接运行

  • 双击Math.exe程序

编译运行

# 使用Maven编译
mvn compile

# 运行程序
mvn exec:java

# 打包为可执行JAR
mvn package

使用说明

首次使用

  1. 启动程序后进入登录界面
  2. 点击"注册"按钮创建新账户
  3. 填写邮箱、验证码
  4. 验证完成后填写用户名、密码并选择年级
  5. 注册成功后返回登录界面登录

练习流程

  1. 登录成功后选择年级系统会根据注册信息自动推荐以及题目数量10-30
  2. 进入答题界面开始练习
  3. 选择答案后点击"下一题"继续
  4. 完成所有题目后自动生成并显示成绩

用户设置

  • 在登录后界面可以修改密码
  • 系统会自动保存练习记录

数据存储

用户数据

  • 位置:users.json
  • 格式JSON格式存储用户信息

题目记录

  • 位置:questions/{邮箱}/ 目录
  • 格式:按时间戳命名的文本文件

开发说明

扩展题目类型

要添加新的题目类型,需要:

  1. 在相应的*Maker.java类中添加题目生成逻辑
  2. QuestionMaker.java中更新表达式解析逻辑
  3. 更新Grade.java枚举(如果需要新的年级)

自定义界面

所有UI组件都使用Swing开发可以通过修改对应的*.java文件来自定义界面样式和布局。