Galera, é o seguinte:
tenho uma classe chamada Procurar Livro que utilizo para encontrar o livro num determinado Array (matriz) de objetos. O problema está sendo na hora de procurar. Se ele encontrar o livro procurado achou = 1 e ele me retorna J que é a posição que está o livro. O livro está sendo encontrado mas ao invés de ele sair pois o achou == 1 ele continua incrementando J. Alguem pode me ajudar? Vlw…
Obs: na aplicação utilizo J-1, pois é a real posição do livro, já que de qualquer maneira o J é incrementado nessa classe.
public class ProcurarLivro {
public ProcurarLivro() {
}
public static int Find(int i, Livro[] book)
{
int j = 0;
if(i==0){ // i é a quantidade de livros que tenho
JOptionPane.showMessageDialog(null, "Nenhum livro cadastrado");
return 0;
}
else{
int codigo = Integer.parseInt(JOptionPane.showInputDialog("Código: "));//entra com o código do livro a ser procurado
int achou=0;
do{
if(book[j].getIDBook()==codigo)
{
JOptionPane.showMessageDialog(null, "Livro: " + book[j].getTitulo() + "\nAssunto: "+ book[j].getAssunto() + "\nAutor: "+ book[j].getAutor() + "\nEditora: " + book[j].getEditora() + "\nQuantidade: "+book[j].getQtde());
achou = 1;
}
j++;
}while(achou!=1);
}
return j;
}
}