题目:
编写程序,从控制台接收用户输入的二进制,并输出相应的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);
}
}
}