import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.*; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class text1 extends Application { private String toBase6String(int number) { if (number == 0) { return "0"; } StringBuilder sb = new StringBuilder(); char[] digits = {'0', '1', '2', '3', '4', '5'}; boolean isNegative = number < 0; if (isNegative) { number = -number; } while (number > 0) { sb.insert(0, digits[number % 6]); number /= 6; } if (isNegative) { sb.insert(0, '-'); } return sb.toString(); } @Override public void start(Stage primaryStage) { // 创建文本输入框 TextField inputField = new TextField(); inputField.setPromptText("输入一个十进制数"); VBox vBox = new VBox(10); // 创建标签显示结果 Label binaryLabel = new Label(); Label octalLabel = new Label(); Label hexLabel = new Label(); // // 创建按钮 Button convertButton = new Button("转换"); convertButton.setOnAction(e -> { try { int number = Integer.parseInt(inputField.getText()); binaryLabel.setText(String.format("二进制: %s", Integer.toBinaryString(number).toUpperCase())); octalLabel.setText(String.format("八进制: %s", Integer.toOctalString(number))); hexLabel.setText(String.format("十六进制: %s", Integer.toHexString(number).toUpperCase())); Label base6Label = new Label(); base6Label.setText(String.format("六进制: %s", toBase6String(number))); vBox.getChildren().add(base6Label); } catch (NumberFormatException ex) { Alert alert = new Alert(Alert.AlertType.ERROR); alert.setTitle("输入错误"); alert.setHeaderText("无效输入"); alert.setContentText("请输入一个有效的十进制数。"); alert.showAndWait(); } }); // 创建布局 vBox.getChildren().addAll(inputField, convertButton, binaryLabel, octalLabel, hexLabel); // 设置场景 Scene scene = new Scene(vBox, 300, 200); primaryStage.setTitle("进制转换器"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }