打包准备修复bug

pull/8/head
杨默涵 2 months ago
parent 9ef97d3661
commit 3b850bc74f

@ -0,0 +1,19 @@
<component name="ArtifactManager">
<artifact type="jar" name="MathSystemTogether:jar">
<output-path>$PROJECT_DIR$/out/artifacts/MathSystemTogether_jar</output-path>
<root id="archive" name="MathSystemTogether.jar">
<element id="module-output" name="MathSystemTogether" />
<element id="extracted-dir" path="D:/apache-maven-3.9.9/repository/org/openjfx/javafx-fxml/21/javafx-fxml-21.jar" path-in-jar="/" />
<element id="extracted-dir" path="D:/apache-maven-3.9.9/repository/jakarta/activation/jakarta.activation-api/2.1.3/jakarta.activation-api-2.1.3.jar" path-in-jar="/" />
<element id="extracted-dir" path="D:/apache-maven-3.9.9/repository/org/openjfx/javafx-controls/21/javafx-controls-21-win.jar" path-in-jar="/" />
<element id="extracted-dir" path="D:/apache-maven-3.9.9/repository/org/openjfx/javafx-controls/21/javafx-controls-21.jar" path-in-jar="/" />
<element id="extracted-dir" path="D:/apache-maven-3.9.9/repository/org/openjfx/javafx-base/21/javafx-base-21.jar" path-in-jar="/" />
<element id="extracted-dir" path="D:/apache-maven-3.9.9/repository/org/openjfx/javafx-fxml/21/javafx-fxml-21-win.jar" path-in-jar="/" />
<element id="extracted-dir" path="D:/apache-maven-3.9.9/repository/org/openjfx/javafx-graphics/21/javafx-graphics-21.jar" path-in-jar="/" />
<element id="extracted-dir" path="D:/apache-maven-3.9.9/repository/com/sun/mail/jakarta.mail/2.0.1/jakarta.mail-2.0.1.jar" path-in-jar="/" />
<element id="extracted-dir" path="D:/apache-maven-3.9.9/repository/org/openjfx/javafx-graphics/21/javafx-graphics-21-win.jar" path-in-jar="/" />
<element id="extracted-dir" path="D:/apache-maven-3.9.9/repository/org/openjfx/javafx-base/21/javafx-base-21-win.jar" path-in-jar="/" />
<element id="extracted-dir" path="D:/apache-maven-3.9.9/repository/com/sun/activation/jakarta.activation/2.0.1/jakarta.activation-2.0.1.jar" path-in-jar="/" />
</root>
</artifact>
</component>

@ -402,6 +402,45 @@ private double calculateTrigFunction(String function, int angle) {
default: return 0;
}
}
/**
*
*/
private void ensureDivisibleOperations(List<Integer> operands, List<String> 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<Double> operands, List<String> 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);
}
}
}
}
/**
@ -476,6 +515,9 @@ 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++) {
@ -540,7 +582,7 @@ private double calculateTrigFunction(String function, int angle) {
}
/**
*
*
*/
private String[] generateCompoundExpressionWithDivision(int operatorCount) {
StringBuilder expression = new StringBuilder();
@ -558,6 +600,9 @@ 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++) {
@ -641,6 +686,9 @@ 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++) {
@ -808,7 +856,9 @@ 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--; // 调整索引
}

@ -140,6 +140,11 @@ public class ExamController {
registerStage.setTitle("数学考试系统 - 用户注册");
registerStage.setScene(scene);
registerStage.setResizable(false);
// 设置父窗口引用
RegisterController registerController = loader.getController();
registerController.setParentStage((Stage) registerButton.getScene().getWindow());
registerStage.show();
} catch (Exception e) {

@ -7,7 +7,7 @@ import javafx.stage.Stage;
import java.io.IOException;
public class HelloApplication extends Application {
public class HelloApplication extends Application {
@Override
public void start(Stage stage) throws IOException {
FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("exam-view.fxml"));

@ -46,6 +46,9 @@ public class RegisterController {
// 邮件服务
private EmailService emailService;
// 父窗口引用
private Stage parentStage;
@FXML
public void initialize() {
@ -60,6 +63,14 @@ public class RegisterController {
showStatus("⚠️ 邮件服务未配置请检查mail.properties文件", true);
}
}
/**
*
* @param parentStage
*/
public void setParentStage(javafx.stage.Stage parentStage) {
this.parentStage = parentStage;
}
private void setupLevelComboBox() {
ObservableList<String> levels = FXCollections.observableArrayList("小学", "初中", "高中");
@ -204,7 +215,12 @@ public class RegisterController {
Stage currentStage = (Stage) backToLoginButton.getScene().getWindow();
currentStage.close();
// 打开登录界面
// 如果有父窗口,则关闭父窗口
if (parentStage != null) {
parentStage.close();
}
// 打开新的登录界面
FXMLLoader loader = new FXMLLoader(getClass().getResource("exam-view.fxml"));
Scene scene = new Scene(loader.load(), 900, 900);
Stage loginStage = new Stage();

@ -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;
}

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: com.example.mathsystemtogether.HelloApplication

@ -1,2 +1,3 @@
wgll|Ymh123456|ymhlovesLQX@163.com|小学|1760162416490
666|123456789|252436951@qq.com|小学|1760166999971
wgll|Ymh123456|ymhlovesLQX@163.com|小学|1760257151837

Loading…
Cancel
Save