我是一個嘗試編寫將輸入的二進制數轉換爲十進制數的程序的新手程序員。據我所知,數學和代碼是正確的,沒有編譯錯誤返回,但輸出的數字不是正確的十進制數。我的代碼如下:二進制到十進制轉換
String num;
double result = 0;
do {
Scanner in = new Scanner(System.in);
System.out.println("Please enter a binary number or enter 'quit' to quit: ");
num = in.nextLine();
int l = num.length();
if (num.indexOf("0")==-1 || num.indexOf("1")==-1){
System.out.println("You did not enter a binary number.");
}
for (int i = 0; i < l; i++)
{
result = result + (num.charAt(i) * Math.pow(2, (l - i)));
}
System.out.println("The resulting decimal number is: " +result);
} while (!num.equals("quit"));
if (num.equals("quit")){
System.out.println("You chose to exit the program.");
return;
}
任何幫助,你可以給予將不勝感激。我試着儘可能清楚地表明自己的問題,但如果您有任何問題,我會盡力回答最好的問題。我沒有這麼長時間。我所需要的只是讓某人查看它並希望找到我在某處發生的錯誤,謝謝。
如果這不是一種編程練習,您可以用2 – dnault