利用javagui程序设计一个能够进行各种进位计数制的转换应用程序,它将一个指定为二、八、十、十六进制的整型数据转换成另一种进制的整型数据。
时间: 2024-05-07 16:18:57 浏览: 130
以下是一个Java GUI程序,可以进行各种进位计数制的转换:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class NumberConverter extends JFrame implements ActionListener {
private JTextField inputField, outputField;
private JComboBox<String> fromBaseBox, toBaseBox;
private JButton convertButton;
public NumberConverter() {
// 设置窗口标题
setTitle("进制转换");
// 创建输入和输出文本框
inputField = new JTextField(10);
outputField = new JTextField(10);
outputField.setEditable(false);
// 创建进制选择框
fromBaseBox = new JComboBox<String>(new String[]{"二进制", "八进制", "十进制", "十六进制"});
toBaseBox = new JComboBox<String>(new String[]{"二进制", "八进制", "十进制", "十六进制"});
// 创建转换按钮
convertButton = new JButton("转换");
convertButton.addActionListener(this);
// 创建面板,添加组件
JPanel panel = new JPanel();
panel.add(new JLabel("输入:"));
panel.add(inputField);
panel.add(fromBaseBox);
panel.add(new JLabel("输出:"));
panel.add(outputField);
panel.add(toBaseBox);
panel.add(convertButton);
// 添加面板到窗口
add(panel);
// 设置窗口大小和关闭方式
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
// 获取输入和选择的进制
String input = inputField.getText().trim();
int fromBase = fromBaseBox.getSelectedIndex();
int toBase = toBaseBox.getSelectedIndex();
try {
// 将输入转换成十进制数
int decimal = 0;
switch (fromBase) {
case 0: decimal = Integer.parseInt(input, 2); break;
case 1: decimal = Integer.parseInt(input, 8); break;
case 2: decimal = Integer.parseInt(input, 10); break;
case 3: decimal = Integer.parseInt(input, 16); break;
}
// 根据选择的进制将十进制数转换成字符串
String output = "";
switch (toBase) {
case 0: output = Integer.toBinaryString(decimal); break;
case 1: output = Integer.toOctalString(decimal); break;
case 2: output = Integer.toString(decimal); break;
case 3: output = Integer.toHexString(decimal).toUpperCase(); break;
}
// 显示转换结果
outputField.setText(output);
} catch (NumberFormatException ex) {
// 如果输入不合法,显示错误消息
JOptionPane.showMessageDialog(this, "请输入合法的数字!");
inputField.setText("");
outputField.setText("");
}
}
public static void main(String[] args) {
NumberConverter converter = new NumberConverter();
converter.setVisible(true);
}
}
```
这个程序使用 Java Swing GUI 库创建一个窗口,包含一个输入框、一个输出框、两个下拉框和一个按钮。当用户点击按钮时,程序将输入的数字转换成所选择的进制,并在输出框中显示结果。
阅读全文