Eu mudei os vetores fixos para Arrays dinâmicos, a implementação fica dessa forma:
package classes;
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class Teste {
private static ArrayList<Imovel> imoveis;
public static void main(String[] args) {
imoveis = new ArrayList<>();
Object[] options = {"Sim", "Não"};
while (true) {
Imovel imovel = new Imovel();
imovel.setTipo(JOptionPane.showInputDialog("Qual o tipo do imovel?"));
imovel.setEndereco(JOptionPane.showInputDialog("Qual o endereço do imovel?"));
imovel.setBairro(JOptionPane.showInputDialog("Qual o bairro do imovel?"));
imovel.setPreco(JOptionPane.showInputDialog("Qual o preço do contrato?"));
imovel.setTipoImovel(javax.swing.JOptionPane.showOptionDialog(null, "Venda ou Aluguel??", "Tipo Imóvel", -1, 2, null, new Object[]{"Venda", "Aluguel"}, 0));
imoveis.add(imovel);
if (javax.swing.JOptionPane.showOptionDialog(null, "Gostaria de adicionar mais um imóvel?", "Adicionar mais?", -1, 2, null, options, options[0]) != 0) {
break;
}
}
while (true) {
int selecao = javax.swing.JOptionPane.showOptionDialog(null, "Quais imóveis gostaria de listar?", "Adicionar mais?", -1, 2, null, new Object[]{"Venda", "Aluguel", "Sair"}, 0);
if (selecao != 2) {
System.out.println((selecao == 0) ? "--Venda--" : "--Aluiguel--"); // é igual fazer "if"
for (Imovel imovel : imoveis) {
if (imovel.getTipoImovel() == selecao) {
System.out.println(imovel.getEndereco() + ", " + imovel.getBairro() + ", " + imovel.getPreco());
}
}
System.out.println("-------");
} else {
break;
}
}
}
private static class Imovel {
private String tipo;
private String endereco;
private String bairro;
private String preco;
private int tipoImovel; // 0 Venda , 1 Aluguel
public Imovel() {
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getPreco() {
return preco;
}
public void setPreco(String preco) {
this.preco = preco;
}
public int getTipoImovel() {
return tipoImovel;
}
public void setTipoImovel(int tipoImovel) {
this.tipoImovel = tipoImovel;
}
}
}
Eu deixei uma classe separada chamada Imóvel, assim trabalha com um objeto. Coloquei uma variável do tipo int que define se é aluguel ou venda, isso porque os campos são os atributos são os mesmos, assim só trata o qual você quer listar no final. O looping permite adicionar quantos imóveis quiserem.
Qualquer duvida desse código, só entrar em contato, meu skype esta no meu perfil.