From 43c9f89dce781ded8c2431637e9231f20408bdcb Mon Sep 17 00:00:00 2001 From: Nie <3429871628@qq.com> Date: Sun, 28 Sep 2025 23:39:34 +0800 Subject: [PATCH] The Last! --- doc/README.md | 77 +++++++++++++++++++++++---------------------------- run.bat | 39 ++++++++++++++++++++++++++ run.ps1 | 45 ++++++++++++++++++++++++++++++ 3 files changed, 119 insertions(+), 42 deletions(-) create mode 100644 run.bat create mode 100644 run.ps1 diff --git a/doc/README.md b/doc/README.md index a33387d..dedaeb1 100644 --- a/doc/README.md +++ b/doc/README.md @@ -74,7 +74,7 @@ src/ ### 环境要求 #### 系统平台要求 -- **操作系统**:Windows 10/11、macOS 10.14+、Linux Ubuntu 18.04+ 或其他支持Java的命令行操作系统 +- **操作系统**:Windows 10/11(推荐使用Windows系统) - **Java版本**:Java 17 或更高版本(推荐Java 21或Java 23) - **磁盘空间**:至少100MB可用磁盘空间 - **内存要求**:至少512MB可用内存 @@ -87,70 +87,63 @@ src/ ``` 确保两个命令都能正确显示版本信息 -2. **字符编码设置**(重要): - - 在Windows PowerShell中运行前,必须先设置UTF-8编码: - ```powershell - [Console]::InputEncoding = [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 - ``` - - 在CMD中,使用`chcp 65001`设置UTF-8编码 - - Linux/macOS系统通常默认支持UTF-8 +2. **字符编码设置**:run.bat已自动设置UTF-8编码,无需手动配置 3. **路径配置**: - 确保Java的bin目录已添加到系统PATH环境变量中 - 项目路径中不要包含中文或特殊字符 -#### 运行参数 -- **默认参数**:程序运行无需额外参数 -- **内存设置**(可选):如需处理大量题目,可设置JVM内存: - ```bash - java -Xmx512m -cp bin App - ``` -- **编码强制设置**(如遇到乱码): - ```bash - java -Dfile.encoding=UTF-8 -cp bin App - ``` - -### 编译项目 +### 运行方式 -#### 终端运行前准备 -**重要**:在运行程序前,请先在终端中执行以下命令设置UTF-8编码: +#### 方法一:使用run.bat一键运行(推荐) -```powershell -# Windows PowerShell(必须执行) -[Console]::InputEncoding = [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 -``` +**Windows系统用户可以直接双击运行run.bat文件**,或者通过命令行运行: ```bash # 进入项目目录 -cd 1 - -# 编译所有Java源文件 -javac -d bin src/*.java +cd math-test -# Windows系统也可使用: -javac -d bin src\*.java +# 运行批处理文件 +run.bat ``` -### 运行程序 +run.bat文件会自动完成以下操作: +- 设置UTF-8编码环境 +- 检查Java环境是否安装 +- 自动编译Java源文件(如果未编译) +- 启动数学试卷生成程序 + +#### 方法二:手动编译运行 + +如果需要在其他操作系统上运行,可以手动编译: ```bash -# 运行主程序(确保已执行上述编码设置) -java -cp bin App +# 进入项目目录 +cd math-test -# 或者指定类路径 -java -classpath bin App +# 编译所有Java源文件 +javac -d bin src/*.java -# 完整命令示例(包含编码设置和运行): -[Console]::InputEncoding = [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 -cd 1 -java -cp bin App +# 运行程序 +java -cp bin src.App ``` +#### 运行参数 +- **默认参数**:程序运行无需额外参数 +- **内存设置**(可选):如需处理大量题目,可设置JVM内存: + ```bash + java -Xmx512m -cp bin src.App + ``` +- **编码强制设置**(如遇到乱码): + ```bash + java -Dfile.encoding=UTF-8 -cp bin src.App + ``` + ## 使用指南 ### 基本操作流程 -1. **启动程序**:运行`java -cp bin App`命令 +1. **启动程序**:双击运行`run.bat`文件或执行`run.bat`命令 2. **用户登录**:输入用户名和密码(用空格分隔) ``` 请输入用户名和密码(用空格隔开):张三1 123 diff --git a/run.bat b/run.bat new file mode 100644 index 0000000..4a339aa --- /dev/null +++ b/run.bat @@ -0,0 +1,39 @@ +@echo off +chcp 65001 > nul +echo ==================================== +echo 中小学数学卷子自动生成程序 +echo ==================================== +echo. +echo 正在启动程序... +echo. + +cd /d "%~dp0" + +REM 检查Java环境 +java -version > nul 2>&1 +if errorlevel 1 ( + echo 错误:未找到Java环境,请先安装Java! + echo 下载地址:https://www.oracle.com/java/technologies/downloads/ + pause + exit /b 1 +) + +REM 检查是否已编译 +if not exist "bin\App.class" ( + echo 正在编译Java源文件... + javac -d bin src\*.java + if errorlevel 1 ( + echo 编译失败,请检查错误信息! + pause + exit /b 1 + ) + echo 编译完成! + echo. +) + +REM 运行程序 +echo 启动数学试卷生成程序... +echo. +java -cp bin src.App + +pause \ No newline at end of file diff --git a/run.ps1 b/run.ps1 new file mode 100644 index 0000000..058de92 --- /dev/null +++ b/run.ps1 @@ -0,0 +1,45 @@ +# 中小学数学卷子自动生成程序 - PowerShell启动脚本 + +Write-Host "====================================" -ForegroundColor Green +Write-Host " 中小学数学卷子自动生成程序" -ForegroundColor Yellow +Write-Host "====================================" -ForegroundColor Green +Write-Host "" + +# 设置UTF-8编码 +[Console]::InputEncoding = [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 + +# 检查Java环境 +try { + $javaVersion = java -version 2>&1 + Write-Host "✓ Java环境检测正常" -ForegroundColor Green +} catch { + Write-Host "✗ 错误:未找到Java环境,请先安装Java!" -ForegroundColor Red + Write-Host "下载地址:https://www.oracle.com/java/technologies/downloads/" -ForegroundColor Yellow + Read-Host "按Enter键退出" + exit 1 +} + +# 切换到脚本所在目录 +Set-Location -Path $PSScriptRoot + +# 检查是否已编译 +if (-not (Test-Path "bin\App.class")) { + Write-Host "正在编译Java源文件..." -ForegroundColor Cyan + + $compileResult = javac -d bin src\*.java 2>&1 + if ($LASTEXITCODE -ne 0) { + Write-Host "✗ 编译失败!" -ForegroundColor Red + Write-Host $compileResult -ForegroundColor Red + Read-Host "按Enter键退出" + exit 1 + } + + Write-Host "✓ 编译完成!" -ForegroundColor Green + Write-Host "" +} + +# 运行程序 +Write-Host "启动数学试卷生成程序..." -ForegroundColor Cyan +Write-Host "" + +java -cp bin src.App \ No newline at end of file