2015-11-05 48 views
2

我正在進入一個AP級計算機科學類的二進制程序的小數。我使用了十進制到二進制算法,但程序打印出二進制字符串的反轉。十進制到二進制程序w/o內置方法

public static void main (String[]args) { 

    int n = Integer.parseInt(args[0]); 

    while (n>0) { 
    if (n%2==0) { //for even numbers 
     System.out.print("0"); 
     n/=2; // 
    } 
    else { 
     System.out.print("1"); 
     n--; // for odd numbers 
     n/=2; 
    } 
    } 
} 

回答

1

如果你明白它打印出來倒退,那麼也許你可以做一個簡單的修補。

添加一個字符串變量並加上該變量前面的「1」或「0」,最後的結果將是您的二進制結果。

示例代碼,將工作是:

String ans = ""; 
... 
ans = "1" + ans;

OR

ans = "0" + ans;