输入一个十六进制数转换为十进制数输出。 输入格式: 输入一个十六进制数 输出格式: 输出一个十进制数
时间: 2024-12-14 13:22:09 浏览: 4
在Java中,你可以使用`Integer.parseInt()`或者`Long.parseLong()`方法来将十六进制字符串转换为对应的十进制整数,具体取决于你要处理的数值范围(如果超过32位整数,使用`Long`)。这里是一个简单的例子:
```java
import java.util.Scanner;
public class HexToDecimal {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个十六进制数:");
String hexInput = scanner.nextLine();
// 如果你想确保输入的是有效的十六进制,可以先验证
if (isValidHex(hexInput)) {
try {
long decimalValue = Long.parseLong(hexInput, 16); // 16 是十六进制的基数
System.out.println("转换后的十进制数是:" + decimalValue);
} catch (NumberFormatException e) {
System.out.println("无效的十六进制输入,请重新尝试。");
}
} else {
System.out.println("无效的十六进制输入,请确保只包含0-9和A-F(a-f)字符。");
}
scanner.close();
}
// 验证输入是否为有效的十六进制
private static boolean isValidHex(String input) {
return input.matches("[0-9a-fA-F]*"); // 匹配0-9和A-F(a-f)
}
}
```
在这个程序中,`Long.parseLong()`会尝试解析输入的字符串并将其转换为十进制,如果输入不是有效的十六进制,则会抛出`NumberFormatException`。
阅读全文