diff --git a/Calculator.java b/Calculator.java deleted file mode 100644 index 6ad4096..0000000 --- a/Calculator.java +++ /dev/null @@ -1,83 +0,0 @@ -package hello.demo; -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.stage.Stage; - -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; - -public class Calculator extends Application { - - private TextField display; - - @Override - public void start(Stage primaryStage) { - primaryStage.setTitle("计算器"); - - display = new TextField(); - display.setEditable(false); - - GridPane grid = new GridPane(); - grid.setPadding(new Insets(10)); - grid.setVgap(5); - grid.setHgap(5); - - // 按钮定义,包括取余运算 "%" - String[] buttons = { - "7", "8", "9", "/", - "4", "5", "6", "*", - "1", "2", "3", "-", - "0", "C", "=", "+", - "%" - }; - - int index = 0; - for (int row = 0; row < 5; row++) { // 修改行数以添加新按钮 - for (int col = 0; col < 4; col++) { - if (index >= buttons.length) break; // 防止数组越界 - Button btn = new Button(buttons[index]); - btn.setMinSize(50, 50); - btn.setOnAction(e -> handleButtonClick(btn.getText())); - grid.add(btn, col, row); - index++; - } - } - - grid.add(display, 0, 5, 4, 1); // 显示区域在最后一行 - - Scene scene = new Scene(grid, 250, 350); - primaryStage.setScene(scene); - primaryStage.show(); - } - - private void handleButtonClick(String text) { - if ("C".equals(text)) { - display.clear(); - } else if ("=".equals(text)) { - calculateResult(); - } else { - display.appendText(text); - } - } - - private void calculateResult() { - try { - String input = display.getText(); - // 使用脚本引擎执行表达式 - ScriptEngineManager manager = new ScriptEngineManager(); - ScriptEngine engine = manager.getEngineByName("JavaScript"); - Object result = engine.eval(input); - display.setText(result.toString()); - } catch (Exception e) { - display.setText("错误"); - } - } - - public static void main(String[] args) { - launch(args); - } -} diff --git a/Calculator11.java b/Calculator11.java deleted file mode 100644 index 6ad4096..0000000 --- a/Calculator11.java +++ /dev/null @@ -1,83 +0,0 @@ -package hello.demo; -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.stage.Stage; - -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; - -public class Calculator extends Application { - - private TextField display; - - @Override - public void start(Stage primaryStage) { - primaryStage.setTitle("计算器"); - - display = new TextField(); - display.setEditable(false); - - GridPane grid = new GridPane(); - grid.setPadding(new Insets(10)); - grid.setVgap(5); - grid.setHgap(5); - - // 按钮定义,包括取余运算 "%" - String[] buttons = { - "7", "8", "9", "/", - "4", "5", "6", "*", - "1", "2", "3", "-", - "0", "C", "=", "+", - "%" - }; - - int index = 0; - for (int row = 0; row < 5; row++) { // 修改行数以添加新按钮 - for (int col = 0; col < 4; col++) { - if (index >= buttons.length) break; // 防止数组越界 - Button btn = new Button(buttons[index]); - btn.setMinSize(50, 50); - btn.setOnAction(e -> handleButtonClick(btn.getText())); - grid.add(btn, col, row); - index++; - } - } - - grid.add(display, 0, 5, 4, 1); // 显示区域在最后一行 - - Scene scene = new Scene(grid, 250, 350); - primaryStage.setScene(scene); - primaryStage.show(); - } - - private void handleButtonClick(String text) { - if ("C".equals(text)) { - display.clear(); - } else if ("=".equals(text)) { - calculateResult(); - } else { - display.appendText(text); - } - } - - private void calculateResult() { - try { - String input = display.getText(); - // 使用脚本引擎执行表达式 - ScriptEngineManager manager = new ScriptEngineManager(); - ScriptEngine engine = manager.getEngineByName("JavaScript"); - Object result = engine.eval(input); - display.setText(result.toString()); - } catch (Exception e) { - display.setText("错误"); - } - } - - public static void main(String[] args) { - launch(args); - } -} diff --git a/README.md b/README.md new file mode 100644 index 0000000..d1774f0 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# Calculator1 +