https://github.com/alissonwenceslau/hotelreservation
Hotel reservation
https://github.com/alissonwenceslau/hotelreservation
clean-code date delegate java oop oriented-object-programming simpledateformat timeunit
Last synced: 8 months ago
JSON representation
Hotel reservation
- Host: GitHub
- URL: https://github.com/alissonwenceslau/hotelreservation
- Owner: AlissonWenceslau
- Created: 2022-09-17T19:55:22.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-09-23T01:22:47.000Z (about 3 years ago)
- Last Synced: 2025-01-22T05:15:03.806Z (10 months ago)
- Topics: clean-code, date, delegate, java, oop, oriented-object-programming, simpledateformat, timeunit
- Language: Java
- Homepage:
- Size: 179 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Hotel Reservation

> Trata-se de um mini projeto simples programado em **Java**, que visa criar exceções try-catch personalizadas, onde serão versionadas 3 soluções, sendo elas:
- [ ] Muito ruim - Lógica de validação no programa principal
- [ ] Ruim - Método retornando string
- [x] Boa - Tratamento de exceções
#### Obs: A caixa flegada acima, indicara o solução atual


## 💻 Pré-requisitos
Antes de começar, verifique se você atendeu aos seguintes requisitos:
* Você precisa compreender a linguagem Java e conceitos de POO (Encapsulamento, herança e polimorfismo)
* Você precisa compreender classes **Date, SimpleDateFormat** e o enum **TimeUnit**
* Você precisa compreender conceito de delegação
* Você precisa compreender try-catch e bloco finally
## Features
TimeUnit é um enum disponível no pacote **java.util.concurrent**, ele basicamente disponibiliza métodos para converter o tempo em unidades de tempo.
Neste projeto foi utilizado **TimeUnit** na classe **Reservation** para calcular a unidade de tempo em **dias** entre o ChekcIn e o CheckOut, conforme abaixo:
```Java
public long duration() {
long diff = checkOut.getTime() - checkIn.getTime();
return TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
}
```
### Ajustes e melhorias
O projeto ainda está em desenvolvimento e as próximas atualizações serão voltadas nas seguintes tarefas:
- [ ] Incluir banco de dados
- [ ] Incluir interface gráfica
## 🚀 Instalando
Para instalar o , siga estas etapas:
Linux, macOS e Windows:
```
```
###### Próximo passo
* Execute o projeto em uma IDE
[⬆ Voltar ao topo](#Hotelreservation)