2014-09-04 127 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方法。