Busca binária

Boa noite pessoal, sou iniciante em java, estou escrevendo um prog onde o usuário cadastra 3 produtos, e depois precisa realizar a busca de um produto pelo código, usando a busca binária. Mas não sei como fazer essa busca binária, já procurei em vários sites e não consigo entender como encaixar a busca no meu programa. Segue abaixo o código, está com 2 classes. Podem me ajudar pls?

public class Produto {

public Produto()
{
    cod = 0;
    prod = "";
    marca = "";
    preço = 0;
    
    
}

public double cod,preço,qtd,total;
public String prod,marca;

}


import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Prova {
public static void main(String[] args) {
int codbusca;

    Produto[] produtos = new Produto[3];
    Produto a1 = new Produto();
    Produto a2 = new Produto();
    Produto a3 = new Produto();
    
    Scanner entrada = new Scanner(System.in);
    int cod;
    
    
    System.out.println("Bem vindo ao programa");
    System.out.println("");
    System.out.println("Vamos cadastrar um produto");     
        
                    
            System.out.println("Digite o código de identificação do produto");
            a1.cod = entrada.nextInt();
            
            System.out.println("Digite o nome do produto");
            a1.prod = entrada.next();
            
            System.out.println("Digite a marca do produto");
            a1.marca = entrada.next();
            
            System.out.println("Digite o preço deste produto");
            a1.preço = entrada.nextDouble();
            
            for(int a = 0; a< 10; a++){System.out.println();} // isto é somente espaçamento..
            
            System.out.println("Produto cadastrado com sucesso!");
            
            System.out.println("Digite o código de identificação do produto");
            a2.cod = entrada.nextInt();
            
            System.out.println("Digite o nome do produto");
            a2.prod = entrada.next();
            
            System.out.println("Digite a marca do produto");
            a2.marca = entrada.next();
            
            System.out.println("Digite o preço deste produto");
            a2.preço = entrada.nextDouble();
            
            for(int a = 0; a< 10; a++){System.out.println();}
            
            System.out.println("Produto cadastrado com sucesso!");
            
            System.out.println("Digite o código de identificação do produto");
            a3.cod = entrada.nextInt();
            
            System.out.println("Digite o nome do produto");
            a3.prod = entrada.next();
            
            System.out.println("Digite a marca do produto");
            a3.marca = entrada.next();
            
            System.out.println("Digite o preço deste produto");
            a3.preço = entrada.nextDouble();
            
            for(int a = 0; a< 10; a++){System.out.println();}
            
            System.out.println("Produto cadastrado com sucesso!");
            
            for(int a = 0; a< 20; a++){System.out.println();}
            
            System.out.println("Vamos fazer uma busca, digite o código do produto:");
            codbusca = entrada.nextInt();
            
         
            
    }
            
            
    
    
}

[i]Sempre que postar código use a tag CODE.

Essa aula sobre pesquisa binária é muito boa.

[/i]