Por favor alguém pra ajudar a definir uma data de entrada e de saida para todo veículo que entra no estacionamento. Meu prof. determinou que o trabalho fosse assim:
Desenvolver um programa windows para o controle de estacionamento em Java. Não é necessária a utilização de banco de dados, podendo os dados serem armazenados apenas em memória, em estruturas adequadas.
O programa deverá ter:
->>Tela para cadastro da tabela de preços, composta de um valor para a 1a hora e outro valor para horas adicionais;
->>Tela para entrada de veículo no estacionamento, através da digitação da placa do veículo;
->>Tela para a saída de veículo do estacionamento, através da digitação da placa: após a saída, o programa deverá exibir na tela as informações do cupom fiscal (Placa do veículo, Data e hora de entrada, Data e hora de saída, Valor a pagar).
->>O valor a ser pago será sempre baseado na diferença em horas entre a entrada e saída, sendo o valor da 1a hora diferenciado. Não há desconto para turnos inteiros (se o veículo ficou 1 dia estacionado, pagará o valor de hora x 24, por exemplo).
Montei as seguintes classes:
/**
*
* @author Mauricio
*/
public class Estacionamento {
private String nome;
private String cnpj;
private List listaVeiculos;
private double precoHora;
private double precoHoraAdicional;
public Estacionamento(String n, String parametroCnpj) {
this.nome = n;
this.cnpj = parametroCnpj;
this.listaVeiculos = new LinkedList();
}
//método que adiciona veiculos dentro do estacionamento
public void entradaVeiculo(Veiculo v) {
this.listaVeiculos.add(v);
}
public Veiculo buscaVeiculo(String parametroPlaca) {
Iterator percLista = this.listaVeiculos.iterator();
while (percLista.hasNext()) {
Veiculo v = (Veiculo) percLista.next();
if (v.getPlaca().equals(parametroPlaca)) {
return v;
}
}
return null;
}
//Método que exclui 1 veículo do Estacionamento(remove o veículo
da lista encadeada)
public Veiculo saidaVeiculo(String parametroPlaca) {
//int contador = 0;
Iterator percLista = this.listaVeiculos.iterator();
while (percLista.hasNext()) {
Veiculo v = (Veiculo) percLista.next();
if (v.getPlaca().equals(parametroPlaca)) {
this.listaVeiculos.remove(v);
return v;
}
//contador++;
}
return null;
}
public Veiculo cuponFiscal() {
Calendar dataAtual = Calendar.getInstance();
dataAtual.setTime(this.dataSaida);
int anoSaida = dataAtual.get(Calendar.YEAR);
int mesSaida = dataAtual.get(Calendar.MONTH);
int diaDaida = dataAtual.get(Calendar.DAY_OF_MONTH);
return(v);
}
//Método que determina a quantidade de Veículos no
Estacionamento
public int qtdVeiculos() {
return this.listaVeiculos.size();
}
//Método que retorna a lista de veículos do Estacionamento
public Iterator obterVeiculos() {
return this.listaVeiculos.iterator();
}
public String getNome() {
return this.nome;
}
public String getCnpj() {
return this.cnpj;
}
public Date getDataSaida() {
return this.dataSaida;
}
public void setDataSaida() {
this.dataSaida = dataSaida;
}
public double getPrecoHora() {
return this.precoHora;
}
public void setPrecoHora() {
this.precoHora = precoHora;
}
public double getPrecoHoraAdicional() {
return this.precoHoraAdicional;
}
public void setPrecoHoraAdicional() {
this.precoHoraAdicional = precoHoraAdicional;
}
}
/*
* Veiculo.java
*/
package controle.core;
import java.util.Date;
/**
*
* @author Mauricio
*/
public class Veiculo {
private String placa;
private Date dataEntrada;
private Date dataSaida;
public Veiculo(String nPlaca) {
this.placa = nPlaca;
}
public java.lang.String getPlaca() {
return this.placa;
}
public Date getdataEntrada() {
return dataEntrada;
}
public void setdataEntrada(Date dataEntrada) {
this.dataEntrada = dataEntrada;
}
public boolean equals(Object obj) {
if (obj == null) return false;
if (!(obj instanceof Veiculo)) return false;
Veiculo v = (Veiculo) obj;
return this.placa != null && this.placa.equals(v.placa);
}
public int hashCode() {
if (this.placa != null) {
return this.placa.hashCode();
}
return 0;
}
}
Como farei para armazenar a dataEntrada e dataSaida? Seria a dataEntrada dentro do método entradaVeiculo e datSaida dentro do método saidaVeiculo? Então onde? E o calculo do valor a ser pago, poderá ser calculado onde?no método saidaVeiculo ou no proprio jform quando for mostrar o formulario de saida do veiculo?

[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Carneiro[/color][/size] :joia: