2014-09-04 115 views
0

所以我相當新的Java和一般編程,我希望有人可以幫助我這一點。另外我知道代碼中有不必要的語法,但這是因爲它不是我必須爲我的任務做的事情,但我修改了它,以便它可以在main而不是在另一個類中運行。十進制到二進制Java方法

我一直在這個問題上停留了一段時間,我似乎無法弄清楚如何打印出數組。我認爲,我的公式得到的二進制是正確的,但每當我想嘗試打印出數組它會給我:我@ 5df86e79

int value = 69; 

int length =8; 

int remainder1 = 0; 

int[] bits = new int[length]; 

int bitstring=0; 

while(value>0 && length<32 && length>0){ 

for(int i=bits.length;i>0;i--){ 

remainder1=value%2; 

value=value/2; 

bits[i-1] = bitstring+remainder1; 

} 

} 

System.out.println(bits); 
+0

要正確輸出一個數組,使用:'Arrays.toString(array)'。 – Pokechu22 2014-09-04 01:28:04

+1

您無法直接打印數組。使用'Arrays.toString(bits)' – Gary 2014-09-04 01:28:30

回答

0

你不能那樣做,你必須轉換串

Arrays.toString(bits)

1

在Java中的陣列是一個對象。與基元(int,char等)不同,您必須指定在調用System.out.println()時應如何表示它。

用戶定義的對象需要重寫將被調用的toString()方法。

在這種情況下,由於數組已經在Java中定義了,因此您可以簡單地在整數數組上調用類的toString方法。