Boa noite…Alguem ajuda eu…
To tentando fazer um programa onde possa cadastrar hotéis e que permita o usuário a pesquisar o hotel que tenha a comodidade desejada. O cadastro saiu de boa, mas na hora de consultar fica tenso. Ele nao exibe o hotel cadastrado.
Ex
cadastro do hotel
Nome do hotel: exemplo 1
Endereço: exemplo 1
classificação do hotel (estrelas) : exemplo 1
numero de quartos: exemplo 1
Hotel possui piscina (s/n): s
…
agora eu permito que o usuário escolha pesquisar os hoteis pelas comodidades que eles oferecem
Escolha a comodidade desejada
(1) piscina
(2)…
o usuário digita 1, mas o programa informa que não há hotel com piscina cadastrado
public class Hotel {
/**
* ATRIBUTOS
*/
// CaracterÃsticas básica do hotel
private String nome;
private String endereco;
private String classificacao;
private String numeroQuartos;
// Facilidades
private String piscina;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getClassificacao() {
return classificacao;
}
public void setClassificacao(String classificacao) {
this.classificacao = classificacao;
}
public String getNumeroQuartos() {
return numeroQuartos;
}
public void setNumeroQuartos(String numeroQuartos) {
this.numeroQuartos = numeroQuartos;
}
public String getPiscina() {
return piscina;
}
public void setPiscina(String piscina) {
this.piscina = piscina;
}
}
import java.util.*;
import javax.swing.*;
public class Consulta {
//Constantes
// Cadastro
private static final int CADASTRAR = 00;
//Facilidades
private static final int CONSULTAR = 11;
private static final int PISCINA = 1;
private static final int RESTAURANTE = 2;
private static final int AUDITORIO = 3;
private static final int ACESSO_INTERNET = 4;
private static final int ACADEMIA = 5;
private static final int ESTACIONAMENTO = 6;
//OPERAÃ?Ã?ES
private static final String PROMPT_OPERACAO =
"\n Escolha a opção desejada: " +
"\n (00) CADASTRAR" +
"\n (11) CONSULTAR";
private static final String PROMPT_OPERACAO_FACILIDADES =
"\n Escolha a facilidade desejada para consulta os hoteis: " +
"\n (1) PISCINA" +
"\n (2) RESTAURANTE" +
"\n (3) AUDITORIO" +
"\n (4) ACESSO A INTERNET" +
"\n (5) ESTACIONAMENTO";
// FLAG
private static final String PROMPT_CONTINUA = "DESEJA CONTINUAR?";
// PERGUNTAS DO CADASTRO
private static final String PROMPT_NOME = "Informe o nome do hotel: ";
private static final String PROMPT_ENDERECO = "Informe o endereço do hotel: ";
private static final String PROMPT_CLASSIFICACAO = "Informe a classificação do hotel (estrelas): ";
private static final String PROMPT_NUMERO_QUARTOS = "Informe o número de quartos do hotel: ";
private static final String PROMPT_PISCINA = "O hotel possui piscina (s/n)?: ";
// Criação de um objeto ArrayList para armazenar os dados das pessoas
private static ArrayList cadastro = new ArrayList();
//############################### IN�CIO: MAIN #######################################
/**
* Método main.
*/
public static void main(String[] args) {
int continua;
// Entrada dos dados de cadastro
do {
int op = Integer.parseInt(JOptionPane.showInputDialog(null, PROMPT_OPERACAO, "Menu Principal", JOptionPane.INFORMATION_MESSAGE));
switch (op) {
case CADASTRAR:
cadastrar();
break;
case CONSULTAR:
consultar();
break;
default:
JOptionPane.showMessageDialog(null, "Opção inválida ou não implementada.", "ATEN��O!", JOptionPane.ERROR_MESSAGE);
} // fim do switch
// Perguntar se o usuário quer continuar
continua = JOptionPane.showConfirmDialog(null, PROMPT_CONTINUA, "Continuar?", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
} while(continua == JOptionPane.YES_OPTION);
} // fim do main
//############################### FIM: MAIN ##########################################
//############################### INICIO: CADASTRAR ##################################
/**
* Método cadastrar.
*/
public static void cadastrar() {
Hotel hotel = new Hotel();
// Leitura do nome
hotel.setNome( JOptionPane.showInputDialog(null, PROMPT_NOME) );
// Leitura do endereco
hotel.setEndereco( JOptionPane.showInputDialog(null, PROMPT_ENDERECO) );
// Leitura do classificacao
hotel.setClassificacao( JOptionPane.showInputDialog(null, PROMPT_CLASSIFICACAO) );
// Leitura do numero de quartos
hotel.setNumeroQuartos( JOptionPane.showInputDialog(null, PROMPT_NUMERO_QUARTOS) );
// Leitura facilidades
JOptionPane.showMessageDialog(null, "Digite S (sim) se o hotel possui esta facilidade e N (não) para caso não possua");
// Picina
hotel.setPiscina( JOptionPane.showInputDialog(null, PROMPT_PISCINA) );
// Adicionar o hotel na coleção
cadastro.add(hotel);
} // fim do cadastrar
//############################### FIM: CADASTRAR #####################################
//############################### INICIO: CONSULTAR ##################################
/**
* Método consultar
*/
public static void consultar() {
// flag para indicar se encontrou os hoteis com a facilidade
boolean achei = false;
// solicitar que entre com a facilidade
int facilidade = Integer.parseInt(JOptionPane.showInputDialog(null, PROMPT_OPERACAO_FACILIDADES,
"Menu Facilidades", JOptionPane.INFORMATION_MESSAGE));
// iterador: percorre os elementos da coleção
Iterator i = cadastro.iterator();
switch(facilidade){
case PISCINA:
// ERRO NÃ?O CONSEGUE ACHAR O HOTEL COM PISCINA
while (!achei && i.hasNext()){
Hotel h = (Hotel) i.next();
if (h.getPiscina() == "s" && h.getPiscina() == "S"){
JOptionPane.showMessageDialog(null, "Hotel(is) encontrado(s):" + h.getNome(),
"Resultado da Consulta", JOptionPane.INFORMATION_MESSAGE);
achei = true;
}// fim do if
}// fim do while
if(!achei){
JOptionPane.showMessageDialog(null, "Hotel(is) não encontrado(s)");
}// fim do if
break;
default:
JOptionPane.showMessageDialog(null, "OP��O INV�LIDA OU N�O IMPLEMENTADA!");
}
} // fim do pesquisar
//############################### FIM: CANSULTAR #####################################
}