A PROGRAMAÇÃO ORIENTADA A OBJETOS
Por: vitinho250 • 18/9/2015 • Trabalho acadêmico • 1.152 Palavras (5 Páginas) • 169 Visualizações
PROGRAMAÇÃO ORIENTADA A OBJETOS
ETAPA 1
Classe Principal
package Aluguel;
public class Principal { public static void main(String args[]) { Dados data_hora = new Dados(); data_hora.nome_locatario("Juliano Freitas"); data_hora.data_entrada(28,02,2011); data_hora.hora_entrada("08:10"); data_hora.data_saida(5,03,2011); data_hora.hora_saida("11:01"); data_hora.numero_diarias(); data_hora.total_devido(89.90);
System.out.println("================================================"); System.out.println("Locatário: "+data_hora.nome); System.out.println("Data e horário de entrada: "+data_hora.dia_e+"/"+data_hora.mes_e+ "/"+data_hora.ano_e+" "+data_hora.hora_e+":"+data_hora.minuto_e); System.out.println("Data e horário de saída: "+data_hora.dia_s+"/"+data_hora.mes_s+ "/"+data_hora.ano_s+" "+data_hora.hora_s+":"+data_hora.minuto_s); System.out.println("Número de diárias: "+data_hora.num_diarias); System.out.println("Total Devido: "+data_hora.total); System.out.println("================================================");
}}
Classe Dados
package Aluguel; class Dados {
String nome; int dia_e, mes_e, ano_e; int dia_s, mes_s, ano_s; int hora_e, minuto_e, hora_s, minuto_s; int num_diarias; double total;
public void nome_locatario(String nome_) { nome = nome_; }
public void hora_entrada(String hora_) { String[] hms = hora_.split(":"); hora_e = Integer.parseInt(hms[0]); minuto_e = Integer.parseInt(hms[1]); }
public void hora_saida(String hora_) { String[] hms = hora_.split(":"); hora_s = Integer.parseInt(hms[0]); minuto_s = Integer.parseInt(hms[1]); }
public void data_entrada(int dia_, int mes_, int ano_) { dia_e = dia_; mes_e = mes_; ano_e = ano_; }
public void data_saida(int dia_, int mes_, int ano_) { dia_s = dia_; mes_s = mes_; ano_s = ano_; }
public void numero_diarias() { int temp; if (mes_e == mes_s){ num_diarias = dia_s - dia_e; if (hora_s >= 12 && minuto_s >0) num_diarias += 1; } else if (mes_e < mes_s){ if (mes_e == 1 || mes_e == 3 || mes_e == 5 || mes_e == 7 || mes_e == 8 || mes_e == 10 || mes_e == 12) { temp = 31 - dia_e; num_diarias = temp + dia_s;
if (hora_s >= 12 && minuto_s >0) num_diarias += 1; } else if (mes_e == 4 || mes_e == 6 || mes_e == 9 || mes_e == 11){ temp = 30 - dia_e; num_diarias = temp + dia_s; if (hora_s >= 12 && minuto_s >0) num_diarias += 1; } else if (mes_e == 2){ temp = 28 - dia_e; num_diarias = temp + dia_s; if (hora_s >= 12 && minuto_s >0) num_diarias += 1; } } }
public void total_devido(double valor) { total = valor * num_diarias; }}
ETAPA 2
Classe Principal
package Hotel;
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
Scanner p = new Scanner(System.in); //inicializa System.ini para ler dados do teclado
Calculos[] dados = new Calculos[6]; //inicializa classe Calculos
Calculos.gravaValorDiaria("89.90"); //inicializa com valor padrao da diaria
boolean[] qSaida = new boolean[6]; //variavel boleana para controle dos quartos
boolean[] qEntrada = new boolean[6];
int num, n = 0;
for (int x = 0; x < 6; x++) {
qEntrada[x] = true; // inicializa vetor como true.
qSaida[x] = false; // inicializa vetor como false.
}
do {
System.out.println("1 - Registrar entrada em quarto");
System.out.println("2 - Registrar saída do quarto");
System.out.println("3 - Atualizar o valor da diária");
System.out.println("0 - Sair");
num = Integer.parseInt(p.nextLine());
if (num == 1) {
System.out.println("Escolha um dos quarto");
System.out.println("(1)- Quarto1 (2)- Quarto2 (3)- Quarto3 (4)- Quarto4 (5)- Quarto5");
n = Integer.parseInt(p.nextLine()); //variavel n recebe o numero do quarto
if (qEntrada[n]) { //se quarto estiver vazio executa rotina senao retorna menu
System.out.println("Nome locatário: ");
dados[n] = new Calculos(); //inicializa variavel n
dados[n].gravaNome(p.nextLine()); //grava o nome
System.out.println("Data da entrada: ");
dados[n].gravaDataEntrada(p.nextLine()); //grava a data de entrada em string
System.out.println("Hora da entrada: ");
dados[n].gravaHoraEntrada(p.nextLine()); //grava hora de entrada em string
qEntrada[n] = false; //muda o quarto para cheio, indisponivel
qSaida[n] = true; //libera o quarto para saida
} else {
System.out.println("Quarto cheio!");
}
} else if (num == 2) {
System.out.println("Escolha um dos quarto");
System.out.println("(1)- Quarto1 (2)- Quarto2 (3)- Quarto3 (4)- Quarto4 (5)- Quarto5");
n = Integer.parseInt(p.nextLine());
if (qSaida[n]) { //se quarto estiver cheio executa rotina
System.out.println("Data da saída: ");
dados[n].gravaDataSaida(p.nextLine()); //grava data de saida
System.out.println("Hora da saída: ");
dados[n].gravaHoraSaida(p.nextLine()); //grava hora da saida
//imprime os dados do locatario
System.out.println("================================================");
System.out.println("Nome locatário: " + dados[n].retornaNome());
System.out.println("Data e horario de entrada: " + dados[n].retornaDiaEntrada() + "/" + dados[n].retornaMesEntrada() + "/"
+ dados[n].retornaAnoEntrada() + " " + dados[n].retornaHoraEntrada() + ":" + dados[n].retornaMinutoEntrada());
System.out.println("Data e horario de Saida: " + dados[n].retornaDiaSaida() + "/" + dados[n].retornaMesSaida() + "/"
+ dados[n].retornaAnoSaida() + " " + dados[n].retornaHoraSaida() + ":" + dados[n].retornaMinutoSaida());
System.out.println("Numero de Diarias: " + dados[n].retornaNumeroDiarias());
System.out.println("Total devido: " + dados[n].retornaTotalDebito());
System.out.println("================================================");
qSaida[n] = false; //torna o quarto vazio
} else {
System.out.println("Quarto Vazio!");
}
} else if (num == 3) {
//o hotel pode gravar um novo valor para a diaria
System.out.println("Novo valor da diária: ");
Calculos.gravaValorDiaria(p.nextLine());
}
} while (num != 0);
}
}
Classe Calculos
package Hotel;
...