Jogo de Busca

Galera tenho uma aplicação simple usando Busca que deve fazer isso:
O computador fará uso de uma busca binária para descobrir onde você escondeu o marciano.

a. Você poderá esconder o marciano em uma das 100 árvores da floresta que estão enumeradas de 0 a 99. Você deverá entrar com um valor nessa faixa.
b. O computador usará uma busca binária para descobrir onde você escondeu o marciano.
c. O computador exibirá um número onde o marciano se esconde; Você deverá informar se a escolha foi certa ou está em uma árvore maior ou menor (número da árvore).
d. O computador irá informar novo número de acordo com a sua resposta (usando busca binária), até encontrar!

Ja tentei fazer em um codigo que achei em livros mas não consegui, alguem sabe como faz ou ja fez algo do tipo? tentei adaptar o codigo para fazer isso mas n consegui ta ai o codigo qm souber me ajude.

[code]
public class Numero3 {

public static void main (String args[]){

  System.out.println("A chave que buscou foi de" + bb(0,100,15));       

}

public static int bb( int indice, int tamanho,int chave){

  int copia[] = new int [99]; 
     
  int meio = (indice+tamanho)/2; 

     if(indice!=tamanho) 
     { 

       if(copia[meio]==chave) 
          System.out.print("O Marciano se encontra na Arvore"+ "["+ meio +"]"+ "=" + copia[meio]); 

        else 
        { 
          if(chave>copia[meio]) 
           { 
              indice=meio+1; 
              bb(indice, tamanho, chave); 
           } 

           else 
           { 
              tamanho=meio-1; 
              bb(indice, tamanho, chave); 
           } 
        } 

     } 

     else 
     { 
        if(copia[meio]==chave) 
           System.out.print("O Marciano se encontra na Arvore"+ "["+ meio +"]" + "=" + copia[meio]); 

        else 
           System.out.print("Marciano Inexistente"); 
             
     } 

return 1;
}
}[/code]