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 Clientepackage 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;
}
}
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á!