/*
Enter a binary string: wx1234
The string must be 0 or 1.
Enter a binary string: 1234
The string must be 0 or 1.
Enter a binary string: 10001
17
*/
import java.util.Scanner;
public class BinaryToDecimal {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a binary string: ");
String b = input.nextLine();
for (int i = 0; i < b.length(); i++) {
if (!Character.isDigit(b.charAt(i)) || b.charAt(i) > '1') {
System.out.println("The string must be 0 or 1.");
System.exit(0);
}
}
System.out.println(toDecimal(b));
}
public static int toDecimal(String b) {
int decimalValue = 0;
for (int i = 0; i < b.length(); i++)
decimalValue = decimalValue * 2 + binaryToDecimal(b.charAt(i));
return decimalValue;
}
public static int binaryToDecimal(char ch) {
return ch - 48; // 0的ASCII码是48
}
}
Introduction to Java Programming编程题9.8<二进制转十进制>
最新推荐文章于 2024-04-08 09:58:11 发布
本文介绍了一个简单的Java程序,该程序能够将用户输入的二进制字符串转换为对应的十进制数值。通过逐位读取二进制字符串并使用ASCII码减法运算进行转换,实现了从二进制到十进制的有效转换。
838

被折叠的 条评论
为什么被折叠?



