我編寫了一個程序,將數字從Binary轉換爲Decimal,並且如果輸入是0011,它會給出錯誤的輸出。對於0011,答案應該是3,但給出9,否則其他輸入正確。程序Binary to Decimal在Java代碼中給出錯誤
代碼:
public class BinaryToDecimal {
static int testcase1=1001;
public static void main(String[] args) {
BinaryToDecimal test = new BinaryToDecimal();
int result = test.convertBinaryToDecimal(testcase1);
System.out.println(result);
}
//write your code here
public int convertBinaryToDecimal(int binary) {
int powerOfTwo=1,decimal=0;
while(binary>0)
{
decimal+=(binary%10)*powerOfTwo;
binary/=10;
powerOfTwo*=2;
}
return decimal;
}
}
很好的解釋,告訴他哪兒出了問題。 – Aashray