diff --git a/CalculatorController.java b/CalculatorController.java index 0df6d32..a367dcf 100644 --- a/CalculatorController.java +++ b/CalculatorController.java @@ -1,122 +1,71 @@ +import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.control.TextField; -import javafx.scene.control.Button; -import javafx.event.ActionEvent; public class CalculatorController { @FXML private TextField inputField; + @FXML - private TextField inputField1; // 用于显示计算记录 + private TextField inputField1; - private double firstNumber = 0; - private String operator = ""; - private boolean isOperationClicked = false; + @FXML + private TextField inputField2; @FXML - protected void handleNumberAction(ActionEvent event) { - Button button = (Button) event.getSource(); - String number = button.getText(); - if (isOperationClicked) { - inputField.clear(); - isOperationClicked = false; - } - inputField.setText(inputField.getText() + number); + void handleAddAction(ActionEvent event) { + } @FXML - protected void handleAddAction(ActionEvent event) { - performOperation("+"); + void handleClearAction(ActionEvent event) { + } @FXML - protected void handleSubtractAction(ActionEvent event) { - performOperation("-"); + void handleClearsAction(ActionEvent event) { + } @FXML - protected void handleMultiplyAction(ActionEvent event) { - performOperation("*"); + void handleDivideAction(ActionEvent event) { + } @FXML - protected void handleDivideAction(ActionEvent event) { - performOperation("/"); + void handleEqualAction(ActionEvent event) { + } @FXML - protected void handleModulusAction(ActionEvent event) { - performOperation("%"); - } + void handleModulusAction(ActionEvent event) { - private void performOperation(String op) { - firstNumber = Double.parseDouble(inputField.getText()); - operator = op; - isOperationClicked = true; } @FXML - protected void handleEqualAction(ActionEvent event) { - double secondNumber = Double.parseDouble(inputField.getText()); - double result = 0; - - switch (operator) { - case "+": - result = firstNumber + secondNumber; - break; - case "-": - result = firstNumber - secondNumber; - break; - case "*": - result = firstNumber * secondNumber; - break; - case "/": - if (secondNumber != 0) { - result = firstNumber / secondNumber; - } else { - inputField.setText("Error"); - return; - } - break; - case "%": - result = firstNumber % secondNumber; - break; - default: - return; - } - - inputField.setText(String.valueOf(result)); - recordOperation(firstNumber, secondNumber, result); - } + void handleMultiplyAction(ActionEvent event) { - private void recordOperation(double a, double b, double result) { - String operation = a + " " + operator + " " + b + " = " + result; - inputField1.setText(inputField1.getText() + "\n" + operation); } @FXML - protected void handleClearAction(ActionEvent event) { - inputField.clear(); - firstNumber = 0; - operator = ""; - isOperationClicked = false; + void handleNumberAction(ActionEvent event) { + } @FXML - protected void handleClearsAction(ActionEvent event) { - inputField1.clear(); + void handlePointAction(ActionEvent event) { + } @FXML - protected void handlePointAction(ActionEvent event) { - if (!inputField.getText().contains(".")) { - inputField.setText(inputField.getText() + "."); - } + void handleRemoveAction(ActionEvent event) { + } @FXML - protected void handleRemoveAction(ActionEvent event) { - inputField1.clear(); + void handleSubtractAction(ActionEvent event) { + } + }