From 2aa3ce194f68a3d2183a3115336537882fccecdb Mon Sep 17 00:00:00 2001 From: Nie <3429871628@qq.com> Date: Sun, 28 Sep 2025 16:21:49 +0800 Subject: [PATCH] change some questions --- src/App.java | 18 +++++++----------- src/FileManager.java | 4 ++-- src/HighSchoolGenerator.java | 2 +- src/MiddleSchoolGenerator.java | 2 +- src/QuestionGenerator.java | 10 ++-------- 5 files changed, 13 insertions(+), 23 deletions(-) diff --git a/src/App.java b/src/App.java index 3e7d07d..d640b06 100644 --- a/src/App.java +++ b/src/App.java @@ -1,14 +1,12 @@ package src; -import java.util.Map; import java.util.Scanner; import java.util.Set; public class App { private static final Scanner scanner = new Scanner(System.in); - private static final Map users = User.getPresetUsers(); - private static final FileManager fileManager = new FileManager(); + private static final FileManager FILE_MANAGER = new FileManager(); private static QuestionGenerator currentGenerator; private static String currentUsername; @@ -38,21 +36,19 @@ public class App { System.out.println("当前选择为 " + userType + " 出题"); // 加载已存在的题目用于查重 - Set existingQuestions = fileManager.loadExistingQuestions(currentUsername); + Set existingQuestions = FILE_MANAGER.loadExistingQuestions(currentUsername); for (String question : existingQuestions) { currentGenerator.addToGenerated(question); } // 主循环 - boolean stayLoggedIn = true; - while (stayLoggedIn) { + while (true) { System.out.println("\n准备生成 " + currentGenerator.getCurrentType() + " 数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):"); String input = scanner.nextLine().trim(); if (input.equals("-1")) { - stayLoggedIn = false; System.out.println("退出当前用户..."); break; } @@ -81,7 +77,7 @@ public class App { private static User login() { while (true) { System.out.println("\n请输入用户名和密码(用空格隔开):"); - System.out.println("如果需要注册新用户,请输入'register'"); + System.out.println("如果需要注册新用户,请输入'注册'"); System.out.println("如果需要退出程序,请输入'-1'"); String input = scanner.nextLine(); String[] credentials = input.split("\\s+"); @@ -92,7 +88,7 @@ public class App { } // 处理注册请求 - if (credentials[0].equalsIgnoreCase("register")) { + if (credentials[0].equalsIgnoreCase("注册")) { handleRegistration(); continue; } @@ -226,7 +222,7 @@ public class App { } // 重新加载已存在的题目用于查重 - Set existingQuestions = fileManager.loadExistingQuestions(currentUsername); + Set existingQuestions = FILE_MANAGER.loadExistingQuestions(currentUsername); for (String question : existingQuestions) { currentGenerator.addToGenerated(question); } @@ -246,7 +242,7 @@ public class App { } try { - fileManager.saveQuestions(currentUsername, questions); + FILE_MANAGER.saveQuestions(currentUsername, questions); System.out.println("题目生成完成!"); } catch (Exception e) { System.out.println("保存文件时出错: " + e.getMessage()); diff --git a/src/FileManager.java b/src/FileManager.java index 504b04a..4561731 100644 --- a/src/FileManager.java +++ b/src/FileManager.java @@ -77,7 +77,7 @@ public class FileManager { StringBuilder questionBuilder = new StringBuilder(); while ((line = reader.readLine()) != null) { if (line.trim().isEmpty()) { - if (questionBuilder.length() > 0) { + if (!questionBuilder.isEmpty()) { // 移除题号 String question = questionBuilder.toString().replaceAll("^\\d+\\.\\s*", ""); existingQuestions.add(question.trim()); @@ -88,7 +88,7 @@ public class FileManager { } } // 处理最后一个题目 - if (questionBuilder.length() > 0) { + if (!questionBuilder.isEmpty()) { String question = questionBuilder.toString().replaceAll("^\\d+\\.\\s*", ""); existingQuestions.add(question.trim()); } diff --git a/src/HighSchoolGenerator.java b/src/HighSchoolGenerator.java index 728174e..2488671 100644 --- a/src/HighSchoolGenerator.java +++ b/src/HighSchoolGenerator.java @@ -23,7 +23,7 @@ public class HighSchoolGenerator extends QuestionGenerator { private String generateSingleQuestion() { int operatorCount = generateOperatorCount(); StringBuilder questionBuilder = new StringBuilder(); - boolean hasTrigFunction = false; + boolean hasTrigFunction; // 生成第一个操作数或三角函数 hasTrigFunction = processFirstOperandOrTrig(questionBuilder); diff --git a/src/MiddleSchoolGenerator.java b/src/MiddleSchoolGenerator.java index 79c024a..53ef003 100644 --- a/src/MiddleSchoolGenerator.java +++ b/src/MiddleSchoolGenerator.java @@ -23,7 +23,7 @@ public class MiddleSchoolGenerator extends QuestionGenerator { private String generateSingleQuestion() { int operatorCount = generateOperatorCount(); StringBuilder questionBuilder = new StringBuilder(); - boolean hasAdvancedOperator = false; + boolean hasAdvancedOperator; // 生成第一个操作数 int firstOperand = generateOperand(); diff --git a/src/QuestionGenerator.java b/src/QuestionGenerator.java index ae70756..5fd960e 100644 --- a/src/QuestionGenerator.java +++ b/src/QuestionGenerator.java @@ -21,11 +21,11 @@ public abstract class QuestionGenerator { // 生成操作符数量 protected int generateOperatorCount() { - return random.nextInt(5) + 1; // 1-5个操作符 + return random.nextInt(5); // 1-5个操作符 } protected int generateOperatorCount_one() { - return random.nextInt(4) + 2; // 2-5个操作符 + return random.nextInt(4) + 1; // 2-5个操作符 } // 检查题目是否重复 @@ -45,10 +45,4 @@ public abstract class QuestionGenerator { public String getCurrentType() { return currentType; } - -// // 设置当前类型 -// public void setCurrentType(String type) { -// this.currentType = type; -// this.generatedQuestions.clear(); // 切换类型时清空已生成题目 -// } } \ No newline at end of file