(NumberFormatException 异常)程序清单 6-8实现了 hexToDec (String hexString)方法,它将一个十六进制字符串转换为一个十进制数。实现这个hexToDec方法,在字符串不是一个十六进制字符串时抛出NumberFormatException异常。
时间: 2024-02-25 13:51:26 浏览: 119
shex2dec.m:将有符号的十六进制字符串转换为十进制整数。-matlab开发
以下是实现了hexToDec(String hexString)方法,可以将一个十六进制字符串转换为一个十进制数。如果输入的字符串不是一个十六进制字符串,就会抛出NumberFormatException异常。
```java
public static int hexToDec(String hexString) throws NumberFormatException {
int decimal = 0;
for (int i = 0; i < hexString.length(); i++) {
char hexChar = hexString.charAt(i);
if (hexChar >= '0' && hexChar <= '9') {
decimal = decimal * 16 + (hexChar - '0');
} else if (hexChar >= 'A' && hexChar <= 'F') {
decimal = decimal * 16 + (hexChar - 'A' + 10);
} else if (hexChar >= 'a' && hexChar <= 'f') {
decimal = decimal * 16 + (hexChar - 'a' + 10);
} else {
throw new NumberFormatException("Invalid hex string: " + hexString);
}
}
return decimal;
}
```
在这个方法中,我们遍历输入的十六进制字符串的每个字符,如果它是数字0-9或字母A-F或a-f之间的一个,就将其转换为一个十进制数字。如果它不是这些字符之一,就抛出一个NumberFormatException异常,指示输入字符串无效。
阅读全文