Hola , el problema estaba en esta línea
returneado = array.toString(); //Esto lo pongo para poder convertir el array en string
al llamar al método toString de un objeto(un array también es un objeto) sin sobreescribirlo, lo que te devuelve el nombre de la clase y el hashcode del objeto , más info
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html#toString%28%29(busca toString).
Otra cosa , por convención el nombre de las clases deben empezar con mayúsculas , intenta utilizar también nombres de variables un poco más descriptivas. Aquí va tu clase retocada:
import java.util.*;
public class IntegerNumber{
public static void main
(String[]args
){
Scanner sc
= new Scanner
(System.
in);
System.
out.
println("Tell me, which number do you want to convert?");
int integerNumber=sc.nextInt();
System.
out.
println("\n" + intToComp2
(integerNumber
) + " -- salida"); //NO ME PRINTEA EL STRING! }
//METODO QUE PASA DE INTEGER A Comp.A2
public static String intToComp2
(int integerNumber
){
int i=0;
int[]array;
int j=integerNumber;
int r;
int m=0;
//fíjate en como redefiní esta variable, y en como la uso al final del método
//este bucle calcula la longitud del array
do{
i++;
array=new int[i];
}while((Math.
pow(2,i
))<=integerNumber
);
System.
out.
println("So I will use " + array.
length + " bits");
//este bucle mete en el array el valor del numero en binario
do{
r=j%2;
j=j/2;
array[m]=r;
if(j/2==1){
array[i-1]=1;
}
m++;
}while(j>1);
//esto printea el binario
for(int h=m;h>=0;h--){
}
//este bucle lo pasa a comp.A2
for(int b=0;b<array.length;b++){
if(array[b]==1){
b=b+1;
while(b<array.length){
if(array[b]==1){
array[b]=0;
}else{
array[b]=1;
}
b++;
}
}break;
}
for(int z = 0 ; z < array.length ; z++){
returneado.append(array[z]);
}
return returneado.toString();
}
}
Saludos