编写bin2Dec(StringbinaryString)方法,将一个二进制字符串转换为一个十进制数。实现bin2Dec方法,在字符串不是一个二进制字符串时抛出NumberFormatException异常。
时间: 2024-02-06 09:13:04 浏览: 109
Bin2Dec:将二进制转换为十进制
好的,以下是Java语言的bin2Dec方法的实现,它可以将一个二进制字符串转换为一个十进制数:
```java
public static int bin2Dec(String binaryString) throws NumberFormatException {
int decimal = 0;
for (int i = 0; i < binaryString.length(); i++) {
char ch = binaryString.charAt(i);
if (ch == '0' || ch == '1') {
decimal = decimal * 2 + (ch - '0');
} else {
throw new NumberFormatException("The input string is not a binary string.");
}
}
return decimal;
}
```
方法首先初始化一个十进制数decimal为0,然后遍历输入的二进制字符串的每一个字符。如果字符是'0'或'1',则将decimal乘以2后加上该字符对应的数字('0'对应0,'1'对应1)。如果字符不是'0'或'1',则抛出一个NumberFormatException异常。最后返回转换后的十进制数decimal。
注意,如果输入的二进制字符串不是一个有效的二进制字符串(比如包含其他字符),则会抛出NumberFormatException异常。
阅读全文