From 8c6e69af285ca598d35de32e1b1abf3301b00abd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=A5=95=E8=A1=A1?= <1301026953@qq.com> Date: Thu, 17 Oct 2024 16:32:08 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E6=98=93=E8=AE=A1=E7=AE=97=E5=99=A801?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _02/src/Calculator.java | 100 ++++++++++++++++++++++++++++ out/production/_02/Calculator.class | Bin 4530 -> 0 bytes 2 files changed, 100 insertions(+) create mode 100644 _02/src/Calculator.java delete mode 100644 out/production/_02/Calculator.class diff --git a/_02/src/Calculator.java b/_02/src/Calculator.java new file mode 100644 index 0000000..5d962a1 --- /dev/null +++ b/_02/src/Calculator.java @@ -0,0 +1,100 @@ +import javafx.application.Application; +import javafx.geometry.Insets; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.control.TextField; +import javafx.scene.layout.GridPane; +import javafx.scene.layout.VBox; +import javafx.stage.Stage; + +public class Calculator extends Application { + private TextField display; + private double result = 0; + private String lastCommand = "="; + private boolean start = true; + + @Override + public void start(Stage primaryStage) { + // 创建显示区域 + display = new TextField("0"); + display.setEditable(false); + display.setPrefColumnCount(15); + + // 创建按钮 + GridPane grid = new GridPane(); + grid.setPadding(new Insets(10)); + grid.setHgap(10); + grid.setVgap(10); + + // 按钮布局 + String[][] buttonLayout = { + {"7", "8", "9", "/"}, + {"4", "5", "6", "*"}, + {"1", "2", "3", "-"}, + {"0", ".", "=", "+"} + }; + + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 4; j++) { + Button button = new Button(buttonLayout[i][j]); + button.setOnAction(e -> processButtonPress(button.getText())); + grid.add(button, j, i); + } + } + + // 创建主布局 + VBox root = new VBox(); + root.setPadding(new Insets(10)); + root.setSpacing(10); + root.getChildren().addAll(display, grid); + + // 创建场景 + Scene scene = new Scene(root, 300, 300); + + // 设置舞台 + primaryStage.setTitle("简易计算器"); + primaryStage.setScene(scene); + primaryStage.show(); + } + + private void processButtonPress(String command) { + if (command.matches("[0-9]")) { + if (start) { + display.setText(command); + start = false; + } else { + display.setText(display.getText() + command); + } + } else if (command.equals(".")) { + if (start) { + display.setText("0."); + start = false; + } else if (!display.getText().contains(".")) { + display.setText(display.getText() + "."); + } + } else { + calculate(Double.parseDouble(display.getText())); + lastCommand = command; + start = true; + } + } + + private void calculate(double n) { + if (lastCommand.equals("+")) { + result += n; + } else if (lastCommand.equals("-")) { + result -= n; + } else if (lastCommand.equals("*")) { + result *= n; + } else if (lastCommand.equals("/")) { + result /= n; + } else { + result = n; + } + display.setText(String.format("%.0f", result)); + } + + public static void main(String[] args) { + launch(args); + } +} diff --git a/out/production/_02/Calculator.class b/out/production/_02/Calculator.class deleted file mode 100644 index 940e59bb5b550c0836f67d30d6e9ab97e195940b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4530 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 CBZ}()