ciao grazie per la risposta...alla fine ho risolto riscrivendo il metodo numuno() cosi:

codice:
public int numuno(){
int count=0;
        String h=Integer.toBinaryString(n);
        for(int pos=0;pos<h.length();pos++){
        
        if((n&1)==1){
            count++;
        }
        n=n>>1;
    }
    return count;
}
Una cosa ...oltre al metodo toBinaryString della classe integer...non c'è un altro modo per convertire un int in binario?