Boa tarde, tenho um problema que não estou conseguindo resolver que é retornar um array de objeto que exigi alguns parâmetros. Segue abaixo o método e a chamada no main:
//Método que retorna um array de objeto do tipo Imovel
public Imovel[] consultarPorTipoCidadeAreaPreco(int tipo, String cidade, double area, double preco){
Imovel[] casa = new Imovel[100];
boolean validar = true;
for(int i=0; i < qtdaImoveis; i++){
if(tipo == imoveis[i].getTipo() && imoveis[i].equals(cidade) && imoveis[i].getArea() <= area && imoveis[i].getPreco() <= preco){
casa[contador] = imoveis[i];
contador++;
}
else{
casa[contador] = null;
}
}
if(validar == false){
casa = null;
JOptionPane.showMessageDialog(null, "Não existem imóvel com essas características!!!");
}
return casa;
}
//Trecho do código que solicita os parâmetros e imprimi os imóveis encontrados na tela.
//main
//consultar por tipo, cidade, area e preco
case 2:{
tipo = Integer.parseInt(JOptionPane.showInputDialog("Tipo do Imóvel:\n\n(1) Residencial\n(2) Comercial\n(3) Rural\n\n"));
cidade = JOptionPane.showInputDialog("Cidade do Imóvel");
area = Double.parseDouble(JOptionPane.showInputDialog("Área do Imóvel:"));
preco = Double.parseDouble(JOptionPane.showInputDialog("Preço do Imóvel:"));
Imovel[] imoveis = cad.consultarPorTipoCidadeAreaPreco(tipo, cidade, area, preco); //Aqui utiliza o método que busca os imóveis com as características informadas
for(int i=0; i < cad.getContador(); i++){ //Concatena as informações dos imóveis encontrados na String saida
saida += imoveis[i].getDescricao()+"\t"+imoveis[i].getTipo()+"" +
"\t"+imoveis[i].getCidade()+"\t"+imoveis[i].getBairro()+"" +
"\t"+imoveis[i].getArea()+"\t"+imoveis[i].getPreco()+"\n";
}
outputArea.setText(saida); //Apresenta na tela os imóveis encontrados
JOptionPane.showMessageDialog(null, scroller, "Imóvel Cadastrado", JOptionPane.PLAIN_MESSAGE);//Conforme este código a tela aparece em branco
}break;
Agradeço desde já a colaboração.