tengo este codigo pero no se en que falla es una conversion

jamm
16 de Febrero del 2006
class Binario{
int num;
int i=0;
int k;
int bin[40];

public void setValor(int n){
num=n;
}
public int valor()
{
return(

while(num >= 1)
{
if(num % 2 != 0)
{
bin[I] = 1;
}
else
{
bin[I] = 0;
}
I++;
num = num/2;
}

);

class Bin{
static public void main(String javier[]){
Binario B1;
B1=new Binario();
B1.setValor(10);
System.out.println("Binario B1=");
for(K = I - 1; K >= 0; K--)
{
cout << bin[K];


System.out.println( B1.bin[K].valor());
}
}
}