用JAVA编写一个程序, 提示用户输入一个十六进制数,显示其对应的二进制数。
时间: 2024-09-14 21:07:03 浏览: 75
以下是一个简单的Java程序示例,该程序可以实现你所要求的功能:
```java
import java.util.Scanner;
public class HexToBinary {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个十六进制数:");
String hexString = scanner.nextLine();
// 首先检查输入的是否为有效的十六进制字符串
if (hexString.matches("^[0-9a-fA-F]+$")) {
// 将十六进制数转换为二进制数并输出
System.out.println("对应的二进制数是:" + hexToBinary(hexString));
} else {
System.out.println("输入的字符串不是有效的十六进制数!");
}
}
private static String hexToBinary(String hex) {
int decimal = Integer.parseInt(hex, 16);
return Integer.toBinaryString(decimal);
}
}
```
这个程序首先导入了`Scanner`类,用于接收用户的输入。然后在`main`方法中,程序提示用户输入一个十六进制数,并通过`Scanner`对象获取输入的字符串。通过正则表达式检查输入是否为有效的十六进制数。
如果输入有效,程序将调用`hexToBinary`方法,该方法使用`Integer.parseInt`方法将十六进制字符串转换为十进制整数,然后使用`Integer.toBinaryString`方法将十进制整数转换为二进制字符串并返回。最后,程序输出对应的二进制数。
请注意,这个程序假设用户输入的是没有前缀(如"0x")的十六进制数,并且输入的字符是合法的十六进制字符(0-9, a-f, A-F)。
阅读全文