用java实现进制转换
时间: 2023-10-01 22:11:56 浏览: 39
下面是一个简单的 Java 程序,可以将十进制数转换成二进制、八进制、十六进制。
```java
import java.util.Scanner;
public class DecimalToOther {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个十进制数:");
int decimal = input.nextInt();
System.out.println("转换成二进制:" + Integer.toBinaryString(decimal));
System.out.println("转换成八进制:" + Integer.toOctalString(decimal));
System.out.println("转换成十六进制:" + Integer.toHexString(decimal));
}
}
```
程序首先提示用户输入一个十进制数,然后使用 `Integer.toBinaryString()`、`Integer.toOctalString()` 和 `Integer.toHexString()` 方法将其转换为二进制、八进制和十六进制字符串,并打印输出。
相关问题
java实现进制转换
Java实现进制转换可以使用Integer类的静态方法,例如:
将十进制数转换为二进制数:
```
int decimalNum = 10;
String binaryNum = Integer.toBinaryString(decimalNum);
System.out.println(binaryNum); // 输出 1010
```
将二进制数转换为十进制数:
```
String binaryNum = "1010";
int decimalNum = Integer.parseInt(binaryNum, 2);
System.out.println(decimalNum); // 输出 10
```
将十进制数转换为十六进制数:
```
int decimalNum = 255;
String hexNum = Integer.toHexString(decimalNum);
System.out.println(hexNum); // 输出 ff
```
将十六进制数转换为十进制数:
```
String hexNum = "ff";
int decimalNum = Integer.parseInt(hexNum, 16);
System.out.println(decimalNum); // 输出 255
```
java实现进制转换gui
好的,我可以为您提供一个简单的Java进制转换GUI实现,以下是代码:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ConverterGUI extends JFrame implements ActionListener {
private JTextField inputField, outputField;
private JButton binaryButton, decimalButton, hexadecimalButton;
public ConverterGUI() {
super("进制转换器");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
inputField = new JTextField(10);
outputField = new JTextField(10);
outputField.setEditable(false);
binaryButton = new JButton("二进制");
decimalButton = new JButton("十进制");
hexadecimalButton = new JButton("十六进制");
binaryButton.addActionListener(this);
decimalButton.addActionListener(this);
hexadecimalButton.addActionListener(this);
JPanel panel = new JPanel();
panel.add(inputField);
panel.add(binaryButton);
panel.add(decimalButton);
panel.add(hexadecimalButton);
panel.add(outputField);
add(panel);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
String input = inputField.getText();
if (e.getSource() == binaryButton) {
try {
int decimal = Integer.parseInt(input, 2);
outputField.setText(Integer.toString(decimal));
} catch (NumberFormatException ex) {
outputField.setText("无效输入");
}
} else if (e.getSource() == decimalButton) {
try {
int decimal = Integer.parseInt(input);
outputField.setText(Integer.toBinaryString(decimal));
} catch (NumberFormatException ex) {
outputField.setText("无效输入");
}
} else if (e.getSource() == hexadecimalButton) {
try {
int decimal = Integer.parseInt(input, 16);
outputField.setText(Integer.toString(decimal));
} catch (NumberFormatException ex) {
outputField.setText("无效输入");
}
}
}
public static void main(String[] args) {
ConverterGUI gui = new ConverterGUI();
}
}
```
这个程序创建了一个简单的GUI,有一个文本框、三个按钮和另一个文本框。用户在第一个文本框中输入数字,然后选择要将数字转换为的进制。程序根据用户的选择将数字转换为二进制、十进制或十六进制,并将结果显示在第二个文本框中。