编写程序,从控制台接收用户输入的二进制,并输出相应的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;
/**
* @author ~
* @version 1.0
*/
public class Three_Change {
public static void main(String[] args) {
Scanner my_in = new Scanner(System.in);
System.out.print("Enter a Binary string: ");
String num = my_in.nextLine();
int i, sum = 0, k = 0,j=0;
for (i = num.length(); i > 0; i--) {
if (num.charAt(i - 1) == 49) {
sum += Math.pow(2, j);
} else if (num.charAt(i - 1) == 48) {
} else {
System.out.println("Error: Invalid Binary String \"" + num + "\"");
k = 1;
break;
}
j++;
}
if (k == 0) {
System.out.println("The equivalent decimal number for binary \"" + num + "\" is " + sum);
}
}
}