题目:
编写程序,从控制台接收用户输入的二进制,并输出相应的10进制数。以下为样例输出。
Enter a Binary string: 1011
The equivalent decimal number for binary "1011" is 11
Enter a Binary string: 1234
Error: Invalid Binary String "1234"
代码如下:
import java.util.Scanner;
public class HW03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a Binary string:");
int Bi = sc.nextInt();
int temp = Bi;
int num = 0, rev = 0, De = 0;
sc.close();
while (temp > 0) {
int x = temp % 10;
if (x == 0 || x == 1) {
rev = rev * 10 + x;
temp /= 10;
num++;
} else {
System.out.println("Error: Invalid Binary String \"" + Bi + "\"");
num = 0;
temp = 0;
}
}
if (num > 0) {
for (; num > 0; num--) {
int y = rev % 10;
rev /= 10;
De = De * 2 + y;
}
System.out.println("The equivalent decimal number for binary \"" + Bi + "\" is " + De);
}
}
}
运行结果:

本文介绍了一个Java程序,用于从控制台接收用户输入的二进制字符串,然后将其转换为等效的十进制数。程序会检查输入的有效性,并处理无效的二进制字符串。





