Você está na página 1de 3

Jundia, 30/03/2014.

Com base no conhecimento adquirido em sala de aula sobre programao orientada a obj
etos, nos foi lanado o desafio de: Desenvolver um Sistema de Informao para controle
de hospedagem. Nesta parte de desenvolvimento utilizaremos recursos de orientao a
objeto como: classes e objetos; atributos e comportamento; alm de um pouco de de
finio da linguagem Java na implementao de classes e instanciar objetos.
Nesta etapa do desafio desenvolvemos uma classe que representa o aluguel de um q
uarto, na qual tem como papel fazer o clculo das dirias e o valor total que o loca
trio dever pagar aps fechar sua conta onde hospeda, tambm foram utilizados recursos
para q o usurio passa digitar as informaes do locatrio (como nome, data e horrios de
entrada e sada) e ao fim de sua execuo imprimir um comprovante com todas as informaes
coletadas com o seguinte formato:
========================================
Locatrio:
Data e horrio de entrada:
Data e horrio de sada:
Nmero de dirias:
Total devido:
========================================.
Programa desenvolvido:
Arquivo Data.java:
package facuatps;
import java.text.*; // importao do pacote para que possamos seus recursos.
import java.util.*; // importao do pacote para que possamos
seus recursos.
import oracle.jrockit.jfr.events.Bits;
public class Data {
public String dataE;
public String dataS;
public int diarias;
Scanner ler = new Scanner(System.in);
public int cadastraData() throws ParseException{
DateFormat dataf = new SimpleDateFormat("dd/MM/yyyy HH:mm");
System.out.println("Digite data de entrada Ex(dd/MM/yyyy HH:mm): ");
dataE = ler.nextLine();
/*A string digitada ser transformada em tipo date para q possa compreender
feriados, ano bisexto dentre outras coisas mais.
*/
//passa a data como string para tipo Date
Date dataEntrada = dataf.parse(dataE);
//Date horaEntrada = dataf.parse(dataEntrada.getHours());
System.out.println("Digite data de saida Ex(dd/MM/yyyy HH:mm): ");
dataS = ler.nextLine();
//passa a data como string para tipo Date
Date dataSaida = dataf.parse(dataS);
//recebe a diferena em milisegundos// e transforma em dias
long time = dataSaida.getTime() - dataEntrada.getTime();
diarias =(int) (time / (24 * 60 * 60 * 1000)) + 1;/*se houver diferena em dias, p
orem suas horasm n o complete
acrescentada uma diaria
*/
if(diarias == 0)//se o calculo da diaria for zero, acrescentase uma diaria
diarias++;
if(dataSaida.getHours()>= 12 && (time / (24 * 60 * 60 *
1000)) > 0){
diarias++;//definio de conta uma diapara com inicio ao meio dia ou termino ao meio
dia
}
return diarias;
}
}
Arquivo Aluguel.java:
package facuatps;
import java.text.*; // importao do pacote para que possamos seus recursos.
import java.util.*; // importao do pacote para que possamos seus recursos.
public class Aluguel {
public String locatario;
public double valorTotal;
//instanciamos um objeto scanner para que o usuario possa digita as informaoes
Scanner ler = new Scanner(System.in);
// instanciamos um objeto Data para q possamos chamar os recursos de sua classe
Data inquilino = new Data();
//cadastra nome do locatario
public void cadatraLocatario(){
System.out.println("Digite nome do locatario: ");
locatario = ler.nextLine();
}
//cadastra a estadia do locatario junto com o valor total a ser pago no fim
//da estadia
public double calculoDiarias() throws ParseException{
int valorDiaria = 50;
return valorTotal = inquilino.cadastraData() * valorDiaria;
}
//imprime o comprovante de estadia, com todas as imformaoes adquiridas
public void comprovante(){
System.out.print("\n\n===================================================");
System.out.println("\nNome do Locatario: "+locatario);
System.out.println("Data e Horario de Entrada: "+inquilino.dataE);
System.out.println("Data e Horario de Saida: "+inquilino.dataS);
System.out.println("Numero de diarias: "+inquilino.diarias+" dias");
System.out.println("Valor devido: "+valorTotal+" R$");
System.out.println("===================================================");
}
}
Arquivo Main.java:
package facuatps;
import java.text.*; // importao do pacote para que possamos seus recursos.
public class Main {
/**
* @param args the command line arguments
* @throws java.text.ParseException
*/
public static void main(String[] args) throws ParseException {
System.out.println("====Cadastro de alugel de quartos!====\n");
//intacia objeto da classe aluguel para q possa passar e resceber todas as infor
maoes
Aluguel aloca = new Aluguel();
//chama os metodos da classe aluguel
aloca.cadatraLocatario();
aloca.calculoDiarias();
aloca.comprovante();
}
}
A imagem abaixo demonstra a funcionalidade do programa:
Para a realizao desta etapa do desafio, foram utilizados recursos j citados anterio
rmente sobre programao orientada a objetos, bem como criao de classes e instanciar o
bjetos, utilizao de mtodos e recursos de cada classe criada, alm de recursos adquiri
dos em estudo e pesquisa individual, como funcionalidade da classe Date, Scanner
, alm de outros recursos que foram se suma importncia para a concluirmos tal parte
do desafio.