Cadastro de Parâmetros

2 respostas
G

Boa noite amigos! Estou bolando um sistema básico para gerenciar um "Hotel"

Pois bem, chegou o momento que tenho que criar uma classe que vai gerar a conta do Hóspede! Tenho a classe Cliente
package dominio;

public class Cliente {
	private String nomeCliente;
	private String cpf;
	private String rg;
	private String naturalidade;
	private String nacionalidade;
	private String telefone;
	private String email;
	
	//metodo construtor
	public Cliente(String nome,String cpf,String rg,String naturalidade,String nacionalidade,
			String telefone,String email){
		
	}
	public String getNome(){
		return this.nomeCliente;
	}
	public String getCpf(){
		return this.cpf;
	}
	public String getRg(){
		return this.rg;
	}
	public String getNaturalidade(){
		return this.naturalidade;
	}
	public String getNacionalidade(){
		return this.nacionalidade;
	}
	public String getTelefone(){
		return this.telefone;
	}
	public String getEmail(){
		return this.email;
	}
}

Classe Item

package dominio;

public class Item {
 protected String nome;
 protected String descricao;
 protected double valor;
 protected String tipoValor;//moeda ou porcentagem($ ou %)
 
 	//	metodo construtor 
	 public Item(String nome,String descricao,double valor,String tipoValor){
		 this.nome = nome;
		 this.descricao = descricao;
		 this.valor = valor;
		 this.tipoValor = tipoValor;
	 }
	 
	
	 public String getNome(){
		 return this.nome;
	 }
	 public String getDescricao(){
		 return this.descricao;
	 }
	 public double getValor(){
		 return this.valor;
	 }
	 public String getTipoValor(){
		 return this.tipoValor;
	 }
 
	 public void print(){
		 String dadosProduto,descTipoValor;
		 dadosProduto= "Nome prod: " + getNome() + "-- " + getDescricao() + "\n" +
		 			"Valor: " + getValor();
		 descTipoValor = " (Valor percentual)";
		 if (this.tipoValor =="%")
		 {System.out.println(dadosProduto + descTipoValor);}
		 else
		 {System.out.println(dadosProduto);}
		 
	 }
}

Classe DataBase

package dominio;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.*;
import java.util.Date;
import java.text.NumberFormat;  
import java.text.SimpleDateFormat;  


public class DataBase {
	private ArrayList<Item> itens;
	private ArrayList<Quarto> quartos;
	private ArrayList<PreReserva> preReservas;
	private ArrayList<Reserva> reservas;
	private ArrayList<Hospedagem> hospedagens;
	
	public DataBase(){
	itens = new ArrayList<Item>();
	quartos = new ArrayList<Quarto>();
	preReservas = new ArrayList<PreReserva>();
	reservas = new ArrayList<Reserva>();
	hospedagens = new ArrayList<Hospedagem>();
	}
	//Adicionar objetos
	public void addItem(Item prd){
		itens.add(prd);
	}
	public void addQuarto(Quarto q){
		quartos.add(q);
	}
	public void addPreReserva(PreReserva pr){
		preReservas.add(pr);
	}
	public void addHospedagem(Hospedagem hsp){
		hospedagens.add(hsp);
	}
	//remoção de objetos
	public void excluiItem(Item nomeprd){
		
		if(itens.remove(nomeprd))
		{
			System.out.println("Produto '" + nomeprd.getDescricao() + "' removido com sucesso.");
		}
		
	}
	public void excluiQuarto(Quarto qt){
		if (quartos.remove(qt))
		{System.out.println("Quarto nº" );}
		
	}
	//Listas de impressão
	//Produtos
	public void listaProdutos()
	{
		for(Item item : itens ){
			
			item.print(); 
			System.out.println(""); //linha vazia
		}
	}
	//Quartos
	public void listaQuartos()
	{
		for(Quarto quarto : quartos){
			quarto.print();
			System.out.println("");
			}
	}
	//Hospedagens
	//PreReservas
	public boolean verificarPreReservas(Date dataSolicitada)
	{
		for(PreReserva prereserva : preReservas){
			if(prereserva.getDataChegadaPrevista().after(dataSolicitada) || prereserva.getDataChegadaPrevista().equals(dataSolicitada)
					&& prereserva.getDataSaidaPrevista().before(dataSolicitada) || prereserva.getDataSaidaPrevista().equals(dataSolicitada))
			{
				return false;//ocupado 
			}
			else
			{
				return true;
			}
												}//fim  for
		return true;
	}
	
	}
E a minha classe com o Main para teste
package dominio;
import java.util.Date;
import java.util.GregorianCalendar;
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class TesteCase {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//instancia a classe DataBase que simula um BD.
		DataBase db = new DataBase();
		//Produtos ofertados pelo Hotel (classe Servico)
		Servico sc1 = new Servico("Diária Luxo","Preço do quarto luxo",150.00,"$");
		Servico sc2 = new Servico("Ocupante Extra","percentual aplicado a excesso de ocupante.",10.00,"%");
		Servico sc3 = new Servico("Diária Simples","Preço do quarto simples",120.00,"$");
		Servico sc4 = new Servico("Café da Manhã","Preço café da manhã",20.00,"$");
		Servico sc5 = new Servico("Estacionamento"," ",30.00,"$");
		Servico sc6 = new Servico("Percentual Multa","Percentual de multa por dias solicitados e não oucpados.",20.00,"%");

		//Produtos ofertado pelo Hotel no Frigobar (classe ProdutoFrigobar)
		ProdutoFrigobar pf1 = new ProdutoFrigobar("Refrigerante","Refrigerante gf 280 ml",2.00,"$");
		ProdutoFrigobar pf2 = new ProdutoFrigobar("Cerveja","cerveja em garrafa 1lt",4.00,"$");

		//Quartos (classe Quarto)
		
		Quarto q1 = new Quarto(1,4,"Luxo");
		Quarto q2 = new Quarto(2,2,"Luxo");
		Quarto q3 = new Quarto(3,1,"Simples");
		Quarto q4 = new Quarto(4,2,"Simples");
		
		Cliente c1 = new Cliente("Leleco","[telefone removido]","[telefone removido]","Sampa",
				"Brasileira","55-93327069","[email removido]");
		PreReserva pr1 = new PreReserva();
		
		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
		GregorianCalendar gc = new GregorianCalendar();
		try {
			
			//parametros:cliente,datachegada,datasaida,datarealizacao,nroOcupantes,tipoquarto
			if(pr1.solicitar(c1, sdf.parse("01/02/2012"),sdf.parse("22/02/2012"),gc.getTime(),
					1,"Luxo"))
			{
				//adiciona a Pre-reserva
				db.addPreReserva(pr1);
			}
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		//System.exit(0);
		 
		db.addItem(sc1);
		db.addItem(sc2);
		db.addItem(sc3);
		db.addItem(sc4);
		db.addItem(sc5);
		db.addItem(sc6);
		
		db.addItem(pf1);
		db.addItem(pf2);
		
		db.addQuarto(q1);
		db.addQuarto(q2);
		db.addQuarto(q3);
		db.addQuarto(q4);
		
		db.listaProdutos();
		db.listaQuartos();
		
	}

}

[b]Minha pergunta é a seguinte, como faço para gerar uma conta para o Cliente, somar tudo que ele gastou no caso? Não é bem uma dúvida é mais uma ajuda mesmo :D

Obrigado desde já!

2 Respostas

Aldeir

Como você mandou o codigo completo, não parei pra verificar por completo, mas acho que você quer mostrar o que foi consumido pelo cliente e somar tudo;

Acho que você poderia fazer um for com o seu ArrayList e ir somando cada item dele:

por exemplo:

//considere que o objeto cliente esta encapsulado com todos os atributos preenchidos

List listaCliente = new ArrayList();

//preencha este lista con o conteúdo cadastrado
lista = …

double soma = 0.0;

for(int i=0; i<listaCliente.size(); i++){

soma += listaCliente.get(i).;

}

Não sei se era o q procurava…

G

Entendi, +/-

poderia me dar um exemplo? de como vc faria isso?

Criado 12 de janeiro de 2012
Ultima resposta 13 de jan. de 2012
Respostas 2
Participantes 2