diff --git a/out/artifacts/MathSystemTogether_jar/MathSystemTogether.jar b/out/artifacts/MathSystemTogether_jar/MathSystemTogether.jar index a2f2977..9a2372c 100644 Binary files a/out/artifacts/MathSystemTogether_jar/MathSystemTogether.jar and b/out/artifacts/MathSystemTogether_jar/MathSystemTogether.jar differ diff --git a/src/main/java/com/example/mathsystemtogether/ChoiceQuestionGenerator.java b/src/main/java/com/example/mathsystemtogether/ChoiceQuestionGenerator.java index f3b646b..299282a 100644 --- a/src/main/java/com/example/mathsystemtogether/ChoiceQuestionGenerator.java +++ b/src/main/java/com/example/mathsystemtogether/ChoiceQuestionGenerator.java @@ -402,45 +402,6 @@ private double calculateTrigFunction(String function, int angle) { default: return 0; } } - - /** - * 确保除法运算都能除尽 - */ - private void ensureDivisibleOperations(List operands, List operators) { - for (int i = 0; i < operators.size(); i++) { - if (operators.get(i).equals("/")) { - int dividend = operands.get(i); - int divisor = operands.get(i + 1); - - // 如果除不尽,调整被除数使其能被除数整除 - if (dividend % divisor != 0) { - // 生成一个能被除数整除的新被除数 - int newDividend = divisor * (1 + random.nextInt(MAX_OPERAND_VALUE / divisor)); - operands.set(i, newDividend); - } - } - } - } - - /** - * 确保除法运算都能除尽(针对Double类型) - */ - private void ensureDivisibleOperationsForDouble(List operands, List operators) { - for (int i = 0; i < operators.size(); i++) { - if (operators.get(i).equals("/")) { - double dividend = operands.get(i); - double divisor = operands.get(i + 1); - - // 只对整数部分进行除法检查 - if (divisor != 0 && dividend % divisor != 0) { - // 生成一个能被除数整除的新被除数 - int intDivisor = (int) divisor; - int newDividend = intDivisor * (1 + random.nextInt(MAX_OPERAND_VALUE / intDivisor)); - operands.set(i, (double) newDividend); - } - } - } - } /** @@ -515,9 +476,6 @@ private double calculateTrigFunction(String function, int angle) { operators.add(selectedOp); } - // 确保除法运算都能除尽 - ensureDivisibleOperations(operands, operators); - // 构建表达式字符串 expression.append(operands.get(0)); for (int i = 0; i < operatorCount; i++) { @@ -582,7 +540,7 @@ private double calculateTrigFunction(String function, int angle) { } /** - * 生成包含除法的复合运算表达式(确保除法都能除尽) + * 生成包含除法的复合运算表达式 */ private String[] generateCompoundExpressionWithDivision(int operatorCount) { StringBuilder expression = new StringBuilder(); @@ -600,9 +558,6 @@ private double calculateTrigFunction(String function, int angle) { operators.add(availableOps[random.nextInt(availableOps.length)]); } - // 确保除法运算都能除尽 - ensureDivisibleOperations(operands, operators); - // 构建表达式字符串 expression.append(operands.get(0)); for (int i = 0; i < operatorCount; i++) { @@ -686,9 +641,6 @@ private double calculateTrigFunction(String function, int angle) { operators.add(selectedOp); } - // 确保除法运算都能除尽(只对整数运算进行检查) - ensureDivisibleOperationsForDouble(operands, operators); - // 构建表达式字符串 expression.append(operands.get(0).intValue()); for (int i = 0; i < operatorCount; i++) { @@ -856,9 +808,7 @@ private double calculateTrigFunction(String function, int angle) { ops.remove(i); i--; // 调整索引 } else if (ops.get(i).equals("√")) { - // 计算开方结果 - int result = (int) Math.sqrt(numbers.get(i)); - numbers.set(i, result); + // 开方运算已经在生成时处理了 ops.remove(i); i--; // 调整索引 } diff --git a/src/main/java/com/example/mathsystemtogether/RegisterController.java b/src/main/java/com/example/mathsystemtogether/RegisterController.java index 3e72a8b..4614100 100644 --- a/src/main/java/com/example/mathsystemtogether/RegisterController.java +++ b/src/main/java/com/example/mathsystemtogether/RegisterController.java @@ -68,7 +68,7 @@ public class RegisterController { * 设置父窗口引用 * @param parentStage 父窗口 */ - public void setParentStage(javafx.stage.Stage parentStage) { + public void setParentStage(Stage parentStage) { this.parentStage = parentStage; } diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index 4761223..9c6a55e 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -1,10 +1,10 @@ module com.example.mathsystemtogether { requires javafx.controls; requires javafx.fxml; - requires transitive javafx.graphics; requires jakarta.mail; requires jakarta.activation; + opens com.example.mathsystemtogether to javafx.fxml; exports com.example.mathsystemtogether; } \ No newline at end of file