diff --git a/two/src/test.java b/two/src/test.java new file mode 100644 index 0000000..b0bd95a --- /dev/null +++ b/two/src/test.java @@ -0,0 +1,86 @@ +import javafx.application.Application; +import javafx.geometry.Insets; +import javafx.scene.Scene; +import javafx.scene.control.*; +import javafx.scene.layout.GridPane; +import javafx.stage.Stage; + +public class test extends Application { + + @Override + public void start(Stage primaryStage) { + primaryStage.setTitle("进制转换器"); + + // 创建布局 + GridPane grid = new GridPane(); + grid.setPadding(new Insets(10)); + grid.setVgap(8); + grid.setHgap(10); + + // 输入框 + Label inputLabel = new Label("输入数值:"); + GridPane.setConstraints(inputLabel, 0, 0); + TextField inputField = new TextField(); + GridPane.setConstraints(inputField, 1, 0); + + // 源进制选择 + Label fromBaseLabel = new Label("源进制:"); + GridPane.setConstraints(fromBaseLabel, 0, 1); + ComboBox fromBaseCombo = new ComboBox<>(); + fromBaseCombo.getItems().addAll(2, 10, 16); + fromBaseCombo.setValue(10); // 默认选择十进制 + GridPane.setConstraints(fromBaseCombo, 1, 1); + + // 目标进制选择 + Label toBaseLabel = new Label("目标进制:"); + GridPane.setConstraints(toBaseLabel, 0, 2); + ComboBox toBaseCombo = new ComboBox<>(); + toBaseCombo.getItems().addAll(2, 10, 16); + toBaseCombo.setValue(10); // 默认选择十进制 + GridPane.setConstraints(toBaseCombo, 1, 2); + + // 转换按钮 + Button convertButton = new Button("转换"); + GridPane.setConstraints(convertButton, 1, 3); + + // 输出框 + Label resultLabel = new Label("结果:"); + GridPane.setConstraints(resultLabel, 0, 4); + TextField resultField = new TextField(); + resultField.setEditable(false); + GridPane.setConstraints(resultField, 1, 4); + + // 处理转换逻辑 + convertButton.setOnAction(e -> { + String input = inputField.getText(); + int fromBase = fromBaseCombo.getValue(); + int toBase = toBaseCombo.getValue(); + String result = convertBase(input, fromBase, toBase); + resultField.setText(result); + }); + + // 添加所有控件到布局 + grid.getChildren().addAll(inputLabel, inputField, fromBaseLabel, fromBaseCombo, + toBaseLabel, toBaseCombo, convertButton, resultLabel, resultField); + + // 创建场景并显示 + Scene scene = new Scene(grid, 400, 200); + primaryStage.setScene(scene); + primaryStage.show(); + } + + private String convertBase(String value, int fromBase, int toBase) { + try { + // 将输入值从源进制转换为十进制 + int decimalValue = Integer.parseInt(value, fromBase); + // 将十进制转换为目标进制 + return Integer.toString(decimalValue, toBase).toUpperCase(); + } catch (NumberFormatException e) { + return "输入无效"; + } + } + + public static void main(String[] args) { + launch(args); + } +} diff --git a/two/src/twotest.java b/two/src/twotest.java deleted file mode 100644 index eed0e17..0000000 --- a/two/src/twotest.java +++ /dev/null @@ -1,6 +0,0 @@ -public class twotest -{ - public static void main(String[] args) { - System.out.println("hfjdhfjdhjfh"); - } - }