From de59404e3f98d035fc6d3918b94a5d80627f59b7 Mon Sep 17 00:00:00 2001 From: lzy <3479370893@qq.com> Date: Fri, 26 Sep 2025 11:40:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96JavaS=E4=B8=8A=E6=AC=A1?= =?UTF-8?q?=E4=B8=BA=E6=9C=80=E5=BC=80=E5=A7=8B=E7=89=88=E6=9C=AC=EF=BC=8C?= =?UTF-8?q?=E6=AD=A4=E6=AC=A1=E6=B7=BB=E5=8A=A0=E4=BA=86=E6=8A=BD=E8=B1=A1?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/README.md | 28 +++++++++--------- src/.idea/.gitignore | 10 +++++++ src/.idea/misc.xml | 6 ++++ src/.idea/modules.xml | 8 +++++ src/com/.idea/.gitignore | 10 +++++++ src/com/.idea/misc.xml | 6 ++++ src/com/.idea/modules.xml | 8 +++++ src/com/com.iml | 11 +++++++ src/com/mathpaper/main/Main.java | 8 ++--- .../question/AbstractQuestionGenerator.java | 22 ++++++++++++++ .../question/JuniorQuestionGenerator.java | 19 ++---------- .../question/PrimaryQuestionGenerator.java | 22 ++------------ .../mathpaper/question/QuestionChecker.java | 1 + .../question/SeniorQuestionGenerator.java | 20 ++----------- src/com/mathpaper/util/Utils.java | 1 + .../production/个人项目1/.idea/.gitignore | 10 +++++++ .../production/个人项目1/.idea/misc.xml | 6 ++++ .../个人项目1/.idea/modules.xml | 8 +++++ .../个人项目1/com/.idea/.gitignore | 10 +++++++ .../个人项目1/com/.idea/misc.xml | 6 ++++ .../个人项目1/com/.idea/modules.xml | 8 +++++ src/out/production/个人项目1/com/com.iml | 11 +++++++ .../com/mathpaper/file/FileHandler.class | Bin 0 -> 3156 bytes .../com/mathpaper/main/Main.class | Bin 0 -> 4712 bytes .../question/AbstractQuestionGenerator.class | Bin 0 -> 1731 bytes .../question/JuniorQuestionGenerator.class | Bin 0 -> 1536 bytes .../question/PrimaryQuestionGenerator.class | Bin 0 -> 1042 bytes .../mathpaper/question/QuestionChecker.class | Bin 0 -> 4066 bytes .../question/QuestionGenerator.class | Bin 0 -> 277 bytes .../question/SeniorQuestionGenerator.class | Bin 0 -> 1649 bytes .../com/mathpaper/user/Account.class | Bin 0 -> 753 bytes .../com/mathpaper/user/AccountManager.class | Bin 0 -> 1865 bytes .../com/mathpaper/util/Utils.class | Bin 0 -> 4315 bytes .../个人项目1/个人项目1.iml | 11 +++++++ src/个人项目1.iml | 11 +++++++ 35 files changed, 188 insertions(+), 73 deletions(-) create mode 100644 src/.idea/.gitignore create mode 100644 src/.idea/misc.xml create mode 100644 src/.idea/modules.xml create mode 100644 src/com/.idea/.gitignore create mode 100644 src/com/.idea/misc.xml create mode 100644 src/com/.idea/modules.xml create mode 100644 src/com/com.iml create mode 100644 src/com/mathpaper/question/AbstractQuestionGenerator.java create mode 100644 src/out/production/个人项目1/.idea/.gitignore create mode 100644 src/out/production/个人项目1/.idea/misc.xml create mode 100644 src/out/production/个人项目1/.idea/modules.xml create mode 100644 src/out/production/个人项目1/com/.idea/.gitignore create mode 100644 src/out/production/个人项目1/com/.idea/misc.xml create mode 100644 src/out/production/个人项目1/com/.idea/modules.xml create mode 100644 src/out/production/个人项目1/com/com.iml create mode 100644 src/out/production/个人项目1/com/mathpaper/file/FileHandler.class create mode 100644 src/out/production/个人项目1/com/mathpaper/main/Main.class create mode 100644 src/out/production/个人项目1/com/mathpaper/question/AbstractQuestionGenerator.class create mode 100644 src/out/production/个人项目1/com/mathpaper/question/JuniorQuestionGenerator.class create mode 100644 src/out/production/个人项目1/com/mathpaper/question/PrimaryQuestionGenerator.class create mode 100644 src/out/production/个人项目1/com/mathpaper/question/QuestionChecker.class create mode 100644 src/out/production/个人项目1/com/mathpaper/question/QuestionGenerator.class create mode 100644 src/out/production/个人项目1/com/mathpaper/question/SeniorQuestionGenerator.class create mode 100644 src/out/production/个人项目1/com/mathpaper/user/Account.class create mode 100644 src/out/production/个人项目1/com/mathpaper/user/AccountManager.class create mode 100644 src/out/production/个人项目1/com/mathpaper/util/Utils.class create mode 100644 src/out/production/个人项目1/个人项目1.iml create mode 100644 src/个人项目1.iml diff --git a/doc/README.md b/doc/README.md index 58192c2..e9e261d 100644 --- a/doc/README.md +++ b/doc/README.md @@ -8,26 +8,26 @@ - **文件保存**:题目按“年-月-日-时-分-秒.txt”保存到用户专属文件夹。 ## 2. 预设账号 -| 学段 | 用户名 | 密码 | -|--------|------|------| -| 小学 | 张三 1 | 123 | -| 小学 | 张三 2 | 123 | -| 小学 | 张三 3 | 123 | -| 初中 | 李四 1 | 123 | -| 初中 | 李四 2 | 123 | -| 初中 | 李四 3 | 123 | -| 高中 | 王五 1 | 123 | -| 高中 | 王五 2 | 123 | -| 高中 | 王五 3 | 123 | +| 学段 | 用户名 | 密码 | +|--------|-----|------| +| 小学 | 张三1 | 123 | +| 小学 | 张三2 | 123 | +| 小学 | 张三3 | 123 | +| 初中 | 李四1 | 123 | +| 初中 | 李四2 | 123 | +| 初中 | 李四3 | 123 | +| 高中 | 王五1 | 123 | +| 高中 | 王五2 | 123 | +| 高中 | 王五3 | 123 | ## 3. 使用步骤 1. **运行程序**:执行`com.mathpaper.main.Main`类的`main`方法。 -2. **登录**:输入“用户名 密码”(如“张三 1 123”),登录成功后显示当前学段。 +2. **登录**:输入“用户名 密码”(如“张三1 123”),登录成功后显示当前学段。 3. **生成题目**:输入10-30的数字,程序自动生成并保存题目。 4. **切换学段**:输入“切换为初中”(示例),切换后可生成对应学段题目。 5. **退出登录**:输入-1,返回登录界面。 ## 4. 注意事项 -- 题目数量仅支持10-30,输入其他数字(除-1外)会提示重试。 -- 生成的题目保存在项目根目录`generated_papers`下的用户文件夹中,请勿手动删除。 +- 题目数量仅支持10-30,输入其他数字(除-1外)会退出登录。 +- 生成的题目保存在项目根目录`generated_papers`下的用户文件夹中。 - 切换学段时需严格按照“切换为小学/初中/高中”格式输入,否则提示无效。 \ No newline at end of file diff --git a/src/.idea/.gitignore b/src/.idea/.gitignore new file mode 100644 index 0000000..7d05e99 --- /dev/null +++ b/src/.idea/.gitignore @@ -0,0 +1,10 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# 依赖于环境的 Maven 主目录路径 +/mavenHomeManager.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/src/.idea/misc.xml b/src/.idea/misc.xml new file mode 100644 index 0000000..03f397c --- /dev/null +++ b/src/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/.idea/modules.xml b/src/.idea/modules.xml new file mode 100644 index 0000000..4cbff6e --- /dev/null +++ b/src/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/com/.idea/.gitignore b/src/com/.idea/.gitignore new file mode 100644 index 0000000..7d05e99 --- /dev/null +++ b/src/com/.idea/.gitignore @@ -0,0 +1,10 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# 依赖于环境的 Maven 主目录路径 +/mavenHomeManager.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/src/com/.idea/misc.xml b/src/com/.idea/misc.xml new file mode 100644 index 0000000..03f397c --- /dev/null +++ b/src/com/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/com/.idea/modules.xml b/src/com/.idea/modules.xml new file mode 100644 index 0000000..2c632c8 --- /dev/null +++ b/src/com/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/com/com.iml b/src/com/com.iml new file mode 100644 index 0000000..787f398 --- /dev/null +++ b/src/com/com.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/com/mathpaper/main/Main.java b/src/com/mathpaper/main/Main.java index 25f7d1f..3d5d091 100644 --- a/src/com/mathpaper/main/Main.java +++ b/src/com/mathpaper/main/Main.java @@ -1,3 +1,4 @@ +// mathpaper/main/Main.java package com.mathpaper.main; import com.mathpaper.user.AccountManager; @@ -24,7 +25,7 @@ public class Main { String currentType = AccountManager.getAccountType(username); while (true) { // 提示信息:始终使用当前有效的 currentType(无效切换后不变) - System.out.print("\n准备生成" + currentType + "数学题目,请输入生成题目数量(10-30,输入-1退出当前用户):"); + System.out.print("\n准备生成" + currentType + "数学题目,请输入生成题目数量(10-30,输入-1将退出当前用户,重新登录):"); String input = SCANNER.nextLine().trim(); // 处理学段切换:传入当前学段,确保无效时保留原学段 @@ -50,11 +51,6 @@ public class Main { List questions = generator.generate(count, username); FILE_HANDLER.saveQuestions(username, questions); - // 4. 继续操作提示 - System.out.print("是否继续生成" + currentType + "题目?(输入“是”继续,其他返回主页):"); - if (!SCANNER.nextLine().trim().equals("是")) { - System.out.println("返回主页,可重新输入数量或切换学段..."); - } } } } diff --git a/src/com/mathpaper/question/AbstractQuestionGenerator.java b/src/com/mathpaper/question/AbstractQuestionGenerator.java new file mode 100644 index 0000000..35c5794 --- /dev/null +++ b/src/com/mathpaper/question/AbstractQuestionGenerator.java @@ -0,0 +1,22 @@ +package com.mathpaper.question; + +import java.util.ArrayList; +import java.util.List; + +public abstract class AbstractQuestionGenerator implements QuestionGenerator { + protected final QuestionChecker checker = new QuestionChecker(); + + @Override + public List generate(int count, String username) { + List questions = new ArrayList<>(); + while (questions.size() < count) { + String expr = generateSingle(); + if (!checker.isDuplicate(username, expr)) { + questions.add((questions.size() + 1) + ". " + expr + " = "); + } + } + return questions; + } + + protected abstract String generateSingle(); +} \ No newline at end of file diff --git a/src/com/mathpaper/question/JuniorQuestionGenerator.java b/src/com/mathpaper/question/JuniorQuestionGenerator.java index baaedf4..4290291 100644 --- a/src/com/mathpaper/question/JuniorQuestionGenerator.java +++ b/src/com/mathpaper/question/JuniorQuestionGenerator.java @@ -1,28 +1,13 @@ package com.mathpaper.question; import com.mathpaper.util.Utils; -import java.util.ArrayList; -import java.util.List; import java.util.Random; -public class JuniorQuestionGenerator implements QuestionGenerator { - private final QuestionChecker checker = new QuestionChecker(); +public class JuniorQuestionGenerator extends AbstractQuestionGenerator { private final Random RANDOM = new Random(); @Override - public List generate(int count, String username) { - List questions = new ArrayList<>(); - while (questions.size() < count) { - String expr = generateSingle(); - if (!checker.isDuplicate(username, expr)) { - questions.add((questions.size() + 1) + ". " + expr + " = "); - } - } - return questions; - } - - // 生成一道初中题(确保含平方/开根号) - private String generateSingle() { + protected String generateSingle() { String expr = ""; do { int operandCount = Utils.getOperandCount(); diff --git a/src/com/mathpaper/question/PrimaryQuestionGenerator.java b/src/com/mathpaper/question/PrimaryQuestionGenerator.java index 804f7f4..cdfe5a7 100644 --- a/src/com/mathpaper/question/PrimaryQuestionGenerator.java +++ b/src/com/mathpaper/question/PrimaryQuestionGenerator.java @@ -1,28 +1,12 @@ +// 修改后的PrimaryQuestionGenerator.java package com.mathpaper.question; import com.mathpaper.util.Utils; -import java.util.ArrayList; -import java.util.List; -public class PrimaryQuestionGenerator implements QuestionGenerator { - private final QuestionChecker checker = new QuestionChecker(); +public class PrimaryQuestionGenerator extends AbstractQuestionGenerator { @Override - public List generate(int count, String username) { - List questions = new ArrayList<>(); - // 生成不重复题目 - while (questions.size() < count) { - String expr = generateSingle(); - if (!checker.isDuplicate(username, expr)) { - // 添加题号和等号(如“1. 2 + 3 = ”) - questions.add((questions.size() + 1) + ". " + expr + " = "); - } - } - return questions; - } - - // 生成一道小学题 - private String generateSingle() { + protected String generateSingle() { int operandCount = Utils.getOperandCount(); StringBuilder expr = new StringBuilder(); diff --git a/src/com/mathpaper/question/QuestionChecker.java b/src/com/mathpaper/question/QuestionChecker.java index ba04293..161b866 100644 --- a/src/com/mathpaper/question/QuestionChecker.java +++ b/src/com/mathpaper/question/QuestionChecker.java @@ -1,3 +1,4 @@ +// mathpaper/question/QuestionChecker.java package com.mathpaper.question; import com.mathpaper.file.FileHandler; diff --git a/src/com/mathpaper/question/SeniorQuestionGenerator.java b/src/com/mathpaper/question/SeniorQuestionGenerator.java index efee16b..b16b375 100644 --- a/src/com/mathpaper/question/SeniorQuestionGenerator.java +++ b/src/com/mathpaper/question/SeniorQuestionGenerator.java @@ -1,28 +1,14 @@ +// 修改后的SeniorQuestionGenerator.java package com.mathpaper.question; import com.mathpaper.util.Utils; -import java.util.ArrayList; -import java.util.List; import java.util.Random; -public class SeniorQuestionGenerator implements QuestionGenerator { - private final QuestionChecker checker = new QuestionChecker(); +public class SeniorQuestionGenerator extends AbstractQuestionGenerator { private final Random RANDOM = new Random(); @Override - public List generate(int count, String username) { - List questions = new ArrayList<>(); - while (questions.size() < count) { - String expr = generateSingle(); - if (!checker.isDuplicate(username, expr)) { - questions.add((questions.size() + 1) + ". " + expr + " = "); - } - } - return questions; - } - - // 生成一道高中题(确保含三角函数) - private String generateSingle() { + protected String generateSingle() { String expr; do { int operandCount = Utils.getOperandCount(); diff --git a/src/com/mathpaper/util/Utils.java b/src/com/mathpaper/util/Utils.java index 4f36474..eed6bf8 100644 --- a/src/com/mathpaper/util/Utils.java +++ b/src/com/mathpaper/util/Utils.java @@ -1,3 +1,4 @@ +// mathpaper/util/Utils.java package com.mathpaper.util; import java.util.Random; diff --git a/src/out/production/个人项目1/.idea/.gitignore b/src/out/production/个人项目1/.idea/.gitignore new file mode 100644 index 0000000..7d05e99 --- /dev/null +++ b/src/out/production/个人项目1/.idea/.gitignore @@ -0,0 +1,10 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# 依赖于环境的 Maven 主目录路径 +/mavenHomeManager.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/src/out/production/个人项目1/.idea/misc.xml b/src/out/production/个人项目1/.idea/misc.xml new file mode 100644 index 0000000..03f397c --- /dev/null +++ b/src/out/production/个人项目1/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/out/production/个人项目1/.idea/modules.xml b/src/out/production/个人项目1/.idea/modules.xml new file mode 100644 index 0000000..4cbff6e --- /dev/null +++ b/src/out/production/个人项目1/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/out/production/个人项目1/com/.idea/.gitignore b/src/out/production/个人项目1/com/.idea/.gitignore new file mode 100644 index 0000000..7d05e99 --- /dev/null +++ b/src/out/production/个人项目1/com/.idea/.gitignore @@ -0,0 +1,10 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# 依赖于环境的 Maven 主目录路径 +/mavenHomeManager.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/src/out/production/个人项目1/com/.idea/misc.xml b/src/out/production/个人项目1/com/.idea/misc.xml new file mode 100644 index 0000000..03f397c --- /dev/null +++ b/src/out/production/个人项目1/com/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/out/production/个人项目1/com/.idea/modules.xml b/src/out/production/个人项目1/com/.idea/modules.xml new file mode 100644 index 0000000..2c632c8 --- /dev/null +++ b/src/out/production/个人项目1/com/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/out/production/个人项目1/com/com.iml b/src/out/production/个人项目1/com/com.iml new file mode 100644 index 0000000..787f398 --- /dev/null +++ b/src/out/production/个人项目1/com/com.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/out/production/个人项目1/com/mathpaper/file/FileHandler.class b/src/out/production/个人项目1/com/mathpaper/file/FileHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..5a24d0c7b57b965ad729ad755b5dabba088a8087 GIT binary patch literal 3156 zcmai0>2nih9Dd$5$);f|B~UP^92H6nO@lW!2-rfU+7=|GST9_XZM!td#@!9H-Y9Cl z5fM351X29p1v2f>I_hUX_*Yoe8E5>gGm6ipuU_f<;-7>dIc*~G)NET z7NIQ>E1=}0l5{qRl>&=?I`qlK(eaCiU;J@$Z0hudsnO$8lM_>?&;ES=qu;*X7eW)F z3Yt~Kq#28nW+s-=oWY!y)2&!PBj$!}vzASzbw;c@Nz)yDyRBOr4NJid0t;Ou9DUe{ zC5%iit#2ejyJ=BO5I51t5&lHGx}vF6bo1tDCKI*o5LP3s;8uaFT<*MMq+^mVgj-N4 zZ*N!8f;dCa?@AI_RzT=7X}nB$!_3sWFen;)XD3IRqT{a!=Fr>wyr=cX06*l zdIl|XueK}AxIcoViWF#9wU$aH^0}O)+qRw(xVqH+%N+5>UIhb1X@t9D%ckL^o^uQ{ z8$v$}6}vGc5TaLIl%x$%^t^^r-!8WtKk5X6t#>9i?cCV0jTRJJO|O>D)2AGLAJDTp z+m@c%>DC6L=xZ}mlsUW8$m-qs%r4#Pk*>(LW+t_CuVxu?UpVwRg9e$FbpCgVG3A4K zR##TbP|_^9WT9kd1wU_^CNJZuPtdq4U9ALq-c>z%MQ_bNmC!xeRk~gG+@%nx?5Dwr?1qWr*d5f*eZ2_)@Ms|-mq_YLc$IW}n+O;Gf zzY&2WrDhfgJ)xdTds(Mx4&`(4nI4y%Ok?aJZe_?HD4{PDbZH$FM6_w?bb>V;58`bm z@r;BQLA)cdxa@;+arD5{%O`&O`WT6hvf4$nGtBmXoLxl-p1sEu{N>bYM!@`w4;h9+AgTe5;NLeoJ&@S%qzBjh(?(aEelAU|kME1*iGA z{WmF--oqP9`6yQKJ47IY3{=ip?kZsNVWDpbaD0>}G0uXsf8{vDS(n7(D6he9ADg3O zCIKAeIkT1HdXAF$QwsBOZaD{K)dZ@6u1N&@n#M7wJ35AW$FP*s)khINhijT9XcWe< z>aBl^^ z!}c-kC|>zeClHDR!uRuRzaq|D`hm_z{1bT41tSs|!$W5fX;BI*wIvu)BEd22iYVWn zL2XMw(vxa%0%@1!EWL~48I1D1c^PluAm=FF$4R~zJ{QYY)X=xZjN(!(K^OG&R_V zXSpJRm!omM5Dj_u9QG6G06ur)Qb{Wg;d#cxM-4CH1+M&@i@7D~M@cVZwhdL6sFd+) zas$`tj*KAxHZT#J|A4uKNX g%!)(qc-S3}xZ^Q*eAgY{#|NYhk?th@{s@u30U2RV761SM literal 0 HcmV?d00001 diff --git a/src/out/production/个人项目1/com/mathpaper/main/Main.class b/src/out/production/个人项目1/com/mathpaper/main/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..556734d162f6604dad67810b2a1f7a24c9c22264 GIT binary patch literal 4712 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 literal 0 HcmV?d00001 diff --git a/src/out/production/个人项目1/com/mathpaper/question/AbstractQuestionGenerator.class b/src/out/production/个人项目1/com/mathpaper/question/AbstractQuestionGenerator.class new file mode 100644 index 0000000000000000000000000000000000000000..310bfb4da44b9d2527485be40eb5bd2c7e5153bf GIT binary patch literal 1731 zcma)6U31e`5IxscB1ch(aRS7pO#@B9c1hHx^aC6M!4NQY!gS2Q0583f@5I8kHQ~LYP-MuHu)dG_np6}^Rfn+X!-$Y8_oEx;9melpOY^%`us-q(91-|n| zUntd;+fbne6Uiw|!!|Kv;}~WIJ{aS=wHN77x_SU{OZh64ItT?!w+APXtBmm;c=ZDp zO&k}P>r&}xujy=sp**N~k+zUVavJkEVdA8XQ&jI$ z?e=>)sjBDiH)$}R%U2G|Rn;N&#hCP>jd!smFzrP*I_;+CN=@_gxl!v;P5x1ajX7)M zJuC~HYRQHw1wIiTc)Ct0($d#aj8;Cvc~ljXJ!j)Qa%3cHHGvbudGwlG%s(#Lal*wgr|CN80nB1`Xx(Cc8I<+q|Pecp&iY@D%k8d!V8bNY#fZ$!4?aX;n<&Hg|?tTM|oGcn9sW z&rMQl$|zEiiO)GiBLt7i+r$nF`esw^#vV!I4EIC=0(n03@uuS)PEzJh<@jL>nHw8-~!+ACI+{MffQCL+4Q76*5L5V)rk*j5o7&MtOlt+bXJz!0>G3N6SFi(nvaLc!7p=aSsg)nqr_-0jq{ zZ~CI+A7Gt6^@UfRX=%pJ_y_pvU!%jces_1;qOa^mu_Bzh+q7UJ)`KLtiDMioq#4GKSZT#~Y}Y$%oyy$WVtJJz zQ~EFdbOOg2VBt0NnaFaSKtDt7*@V$f)wihAkF5l!B!f6J}k$2Rh>u)z?fV~)>{p)=2 z(N)77=kPW|QdiBpZbJ$uDBH3yf>9G=9Pgm;T*(7u7|h$E;mh(3hHQR$B$VPn!L+7W zua$|BWnykz>N;xnCu>X2x||g`f%pw`xp+Rv-gn7c6X5P zV0;(JX!zb#d>2*_OvMWW@jZO7NkB&Z0kVb6#}sxjP0wJs`Mtq*pZ!wU!)yohrLhh^ zz4z?y*ssJV2HnR@&^@OpMJ&_wJx=E$Lzlq`jG>>p8NfOQah)vA#r?l0+! zulhnsP5c4=0so5+)ww{L5K5vX%B$U3eR}o5>072w(+>qlpe3j7yZCfVGEB-$72}ZvusP|8MIXTD1;!c1rX9P0i9uf z5UwSyy78J!lOb9Y@{oFP+uV0rw(Qmy1Bfupz2zUcQRjBeC`-?>YlW6oH-#5M7@F!Z zsUxo7V}$XN0Gvi2No7pyn87UZ;;t)flVLGcOqWJL=7N}KV9ToTx++XCY@~*=bE5$i zpQMf(SYptL&vVaeaPQNh%P^f9F3YJ-D>_zHeo#8S3o4LXI@YkxFu_f;K(l@)B#mkP zpUC6_NHG|L)4p6@pVAe(^Y1&Rpk0(KTRdwuD#ClkD|L#*OHP&7kGN+kzaR9=6N@Nq zm;SR)jv-R(2}YD@ovHz|=wGCfIRhH-i;pg8YGG&teF+d$xGZTn2i)zm3YDFfR~1hz z1)Cgo*G(k=tl&23UHyDuO7UdV5afqm;9XUM8!W$%#HdkM&5gFHVru|yG7 zd=8C#pwK~J?>oY8&JaD&^2x+0GT9DdZA={}6Mpj)GuilD8w(vQlI^}8f7aNSKfkhV zEO&78E1_smomWW^K!|YZJ3<6gh$4X)#V4^t{zJ@mS!F0ALYxe2Q6+J>F!+nbSu=^M4*!&X! literal 0 HcmV?d00001 diff --git a/src/out/production/个人项目1/com/mathpaper/question/QuestionChecker.class b/src/out/production/个人项目1/com/mathpaper/question/QuestionChecker.class new file mode 100644 index 0000000000000000000000000000000000000000..f29ac2aaaa45c72745a4a7822d5ae8becfe48378 GIT binary patch literal 4066 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 Zx3~lZ1A7=C_P_|P<(_2@e2an)3SV^MPrU#D literal 0 HcmV?d00001 diff --git a/src/out/production/个人项目1/com/mathpaper/question/SeniorQuestionGenerator.class b/src/out/production/个人项目1/com/mathpaper/question/SeniorQuestionGenerator.class new file mode 100644 index 0000000000000000000000000000000000000000..18884631e6016f33d091eb46623f524e7a6535ae GIT binary patch literal 1649 zcma)6T~ixX7=8}fWJ9tAM8ZeK7OT(@8iHSFNmB$ONDZVV6fB~3NtSeLvYRfuOr3GY zn_f6xc+rcFI6BVsh8eGPMrp>*_yhb0{sI4k9TlImNf~Nk#?9o+Iq!Ktp7XrVIluk$ z%dY??@lgaV2&hmr1Q8M#E85jmRd;XH^qS$MZh6L*YuZ+7YGccF^rCyEX_zxC!_i&a z5eQu{Ez`Xy5Qq=2s0a&m+|;-Al;@h2)RJzM>}mum0KOMm{=v48nhAzYedY{bgBe_aATLSH6!_D((#5H4kmg~cwSJ5NT zA%6$AE?x za7G}?O3RK}p7pGvKv#UY0sBz?bZGLAP5+Z|LmJLX@Ewe6(ALB$OAl*EV1!9!>1o@p z7`o-xUW*`!Q57i-V|e*7_lJrIsM~tQGxD1PvH1KEC}i#Xh`D%^`X~lhE)`@Durcvs+rxz*6vie51ZD|QsD zH34PDE|G=yoM{=0UUkE8mUX}5ojJRxS5|b#l19q#;hqp^&fM9QF&=7_$c2IfRN?w=B$Ntz9<}XTwO$fGoT~! z03z`a>a_=G{TY!Tea{7s@*M(&t{{v>&a{R<^0>^Ef-5-F$R)n#s+G3y>gdQkL^o6Q zE(XSxn9_eApC*1nWDkAkL%pFcJpa`BDjmRG`vVdqK?7waKkUYgSJ?>j&pUq zvWsYQIxhVgH^_~NV6rc`hx4mUuaxd1mh8-MS;r(tf4X`{5xe_$l6#o0T_PzUEeeUzD8v{asZ$)!Qo$+o@aFU)gFdX|B(C#?DRbAtX>4NvpVR+K zyo7rg#J3poso5l1=a_p51yY=$=Q6I6w)F#BnGI>|p2AJ6V3mz%$7gttehPngagDPU zqWJ=Ac%N~kvq|+mlDp2#0w2(t;cB1QgDN{LRCKe8f3srXFW$R370E|X_SrV|V4pUo R`x66?2u|QbCTYR-e*v9SgdqR` literal 0 HcmV?d00001 diff --git a/src/out/production/个人项目1/com/mathpaper/user/Account.class b/src/out/production/个人项目1/com/mathpaper/user/Account.class new file mode 100644 index 0000000000000000000000000000000000000000..3704f25d179884dfc22411af20dc2db9765a062e GIT binary patch literal 753 zcma)3%TB^T6g>ll@+k7EFGP(ysE@77 z)jMgVkXDh=kcGxjv3%Ebc{mvJu^pJx37JdF@~0jFQzG@aYcrIZzr3w5aJ+s)Fs*6G z3!2oJPbQCk&=bX?hLR{M;nSF)r?qA5e=7A3QC#^wqR2NL&%T+uT{~#=?nvtKEk5e- zz!7;=RKkHXVW>9$UaG;6?c3q~&tiJ5zAR?mbQkT!pc14lm&vsJX<*scju4?mmpT!* z!2zuvqd$q0rQ1>z6UULB?m=DwqfaW6)hQd%yFy+!-oT8*8C2tFhMaLcL*YfD*2!)V z0!UM5hHMsV#8gI(>VPrFV-s7H5tE$DWF#gFHM;l<(!{WhN;KIdFS-)OE7WHSVi2Q} jvRIJR+Pop6X4qK?&MktAE5X&3;KCxfv=Y24_3eEFCB%Y+ literal 0 HcmV?d00001 diff --git a/src/out/production/个人项目1/com/mathpaper/user/AccountManager.class b/src/out/production/个人项目1/com/mathpaper/user/AccountManager.class new file mode 100644 index 0000000000000000000000000000000000000000..c7a8176119b07a1054c7c405d2545b8204f7f27b GIT binary patch literal 1865 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 P+>dkb&-g3;j{5%t(1@_$ literal 0 HcmV?d00001 diff --git a/src/out/production/个人项目1/个人项目1.iml b/src/out/production/个人项目1/个人项目1.iml new file mode 100644 index 0000000..b107a2d --- /dev/null +++ b/src/out/production/个人项目1/个人项目1.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/个人项目1.iml b/src/个人项目1.iml new file mode 100644 index 0000000..b107a2d --- /dev/null +++ b/src/个人项目1.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file