从键盘输入一个十六进制数,将其转化为十进制输出。如果输入的不是一个有效的十六进制数数字则抛出异常(Java实现)
时间: 2024-02-28 10:53:13 浏览: 83
很抱歉,我刚才的回答可能有误,重新回答一遍。
以下是 Java 代码实现:
```java
import java.util.Scanner;
public class HexToDecimal {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个十六进制数: ");
String hex = sc.next();
try {
int decimal = Integer.parseInt(hex, 16);
System.out.println("转化为十进制数为: " + decimal);
} catch (NumberFormatException e) {
System.out.println("输入的十六进制数无效!");
}
}
}
```
解释一下代码的实现过程:
- 首先通过 `Scanner` 类获取用户输入的十六进制数。
- 然后通过 `Integer.parseInt(String s, int radix)` 方法将其转化为十进制数,其中第二个参数 `radix` 表示进制数,这里我们传入 16 表示输入的是十六进制数。
- 如果输入的十六进制数无效,即无法转化为十进制数,则会抛出 `NumberFormatException` 异常,我们使用 `try-catch` 语句来捕获并处理该异常。