Uma operação comum em arrays é a busca por um determinado registro. Vamos agora criar um método para retornar um registro de um livro em particular.

Exemplo_2_2_004: exemplo de passagem de array como parâmetro para a função.

/**
* A instância dessa classe armazena uma coleção de livros
* @autor Andrei
*
*/
public class biblioteca {
    
...
    /**
   * Imprime um livro específico biblioteca
   * 
   * @param index do livro
   * @return não possui valor de retorno
   * */
    public void imprimeLivro(int i){
            System.out.println( "Título: " + livros[i].getTitulo() );
            System.out.println( "Autor: " + livros[i].getAutor() );
            System.out.println( "Data: " + livros[i].getData() );
            System.out.println( "Editora: " + livros[i].getEditora() );
            System.out.println( "---------------------------------" );
    }
    /**
   * Busca o indice de um livro específico
   * 
   * @param titulo do livro
   * @return indice do livro na biblioteca.
   * */
    public int getLivro(String titulo){
        int indice=-1;
        for(int i=0; i<livros.length;i++){
            if(livros[i].getTitulo().equals(titulo)){
                return i;
            }
        }
        return indice;
    }
    
    public static void main(String[] args) {
    ...
        biblioteca biblio = new biblioteca(livros);
        int indice = biblio.getLivro("Livro - Java Para Iniciantes");
        if(indice>0){
            biblio.imprimeLivro(indice);
        }
    }
}

Para fazer a comparação do título utilizamos o método equals(). Isso permite usar o mesmo método de comparação para qualquer tipo de dado. Uma observação importante é que estamos comparando nesse caso o título inteiro.

Copyright © 2014 AIEC.