diff --git a/ProjetoOO/bin/TFoo/Acesso.class b/ProjetoOO/bin/TFoo/Acesso.class new file mode 100644 index 0000000..9d1b7ba Binary files /dev/null and b/ProjetoOO/bin/TFoo/Acesso.class differ diff --git a/ProjetoOO/bin/TFoo/Cadastro.class b/ProjetoOO/bin/TFoo/Cadastro.class new file mode 100644 index 0000000..1d1b15c Binary files /dev/null and b/ProjetoOO/bin/TFoo/Cadastro.class differ diff --git a/ProjetoOO/bin/TFoo/Data.class b/ProjetoOO/bin/TFoo/Data.class new file mode 100644 index 0000000..994da65 Binary files /dev/null and b/ProjetoOO/bin/TFoo/Data.class differ diff --git a/ProjetoOO/bin/TFoo/Diurno.class b/ProjetoOO/bin/TFoo/Diurno.class new file mode 100644 index 0000000..42092e6 Binary files /dev/null and b/ProjetoOO/bin/TFoo/Diurno.class differ diff --git a/ProjetoOO/bin/TFoo/Duracao.class b/ProjetoOO/bin/TFoo/Duracao.class new file mode 100644 index 0000000..81ea23a Binary files /dev/null and b/ProjetoOO/bin/TFoo/Duracao.class differ diff --git a/ProjetoOO/bin/TFoo/Estacionamento.class b/ProjetoOO/bin/TFoo/Estacionamento.class new file mode 100644 index 0000000..cdef987 Binary files /dev/null and b/ProjetoOO/bin/TFoo/Estacionamento.class differ diff --git a/ProjetoOO/bin/TFoo/Evento.class b/ProjetoOO/bin/TFoo/Evento.class new file mode 100644 index 0000000..86c35b4 Binary files /dev/null and b/ProjetoOO/bin/TFoo/Evento.class differ diff --git a/ProjetoOO/bin/TFoo/Fracao.class b/ProjetoOO/bin/TFoo/Fracao.class new file mode 100644 index 0000000..6d57997 Binary files /dev/null and b/ProjetoOO/bin/TFoo/Fracao.class differ diff --git a/ProjetoOO/bin/TFoo/HoraCheia.class b/ProjetoOO/bin/TFoo/HoraCheia.class new file mode 100644 index 0000000..cd17058 Binary files /dev/null and b/ProjetoOO/bin/TFoo/HoraCheia.class differ diff --git a/ProjetoOO/bin/TFoo/Horario.class b/ProjetoOO/bin/TFoo/Horario.class new file mode 100644 index 0000000..b2bcad3 Binary files /dev/null and b/ProjetoOO/bin/TFoo/Horario.class differ diff --git a/ProjetoOO/bin/TFoo/Mensalista.class b/ProjetoOO/bin/TFoo/Mensalista.class new file mode 100644 index 0000000..5b6eba5 Binary files /dev/null and b/ProjetoOO/bin/TFoo/Mensalista.class differ diff --git a/ProjetoOO/bin/TFoo/Noturno.class b/ProjetoOO/bin/TFoo/Noturno.class new file mode 100644 index 0000000..936abd4 Binary files /dev/null and b/ProjetoOO/bin/TFoo/Noturno.class differ diff --git a/ProjetoOO/bin/TFoo/Principal.class b/ProjetoOO/bin/TFoo/Principal.class new file mode 100644 index 0000000..4abca09 Binary files /dev/null and b/ProjetoOO/bin/TFoo/Principal.class differ diff --git a/ProjetoOO/src/TFoo/Acesso.java b/ProjetoOO/src/TFoo/Acesso.java new file mode 100644 index 0000000..de1b1d5 --- /dev/null +++ b/ProjetoOO/src/TFoo/Acesso.java @@ -0,0 +1,43 @@ +package TFoo; + +public abstract class Acesso { + + + public long duracao; + protected String din, + hin, + dout, + hout, + placa; + + public Acesso() {} + public Acesso(String din, String hin, String dout, String hout, String placa) { + this.duracao= new Duracao(din, hin,dout, hout).calcularDiferencaTempo(); + this.din=din; + this.dout=dout; + this.hin=hin; + this.hout=hout; + } + + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null || getClass() != obj.getClass()) + return false; + Acesso outroAcesso = (Acesso) obj; + return placa.equals(outroAcesso.placa); + } + + + public String getHin() {return hin;} + public String getHout() {return hout;} + public String getDin() {return din;} + public String getDout() {return dout;} + public String getPlaca() {return placa;} + public abstract float calcularAcesso(); + public abstract float getValor(); + + + + +} diff --git a/ProjetoOO/src/TFoo/Cadastro.java b/ProjetoOO/src/TFoo/Cadastro.java new file mode 100644 index 0000000..f4989b9 --- /dev/null +++ b/ProjetoOO/src/TFoo/Cadastro.java @@ -0,0 +1,5 @@ +package TFoo; + +public class Cadastro { + +} diff --git a/ProjetoOO/src/TFoo/Data.java b/ProjetoOO/src/TFoo/Data.java new file mode 100644 index 0000000..d4d37c6 --- /dev/null +++ b/ProjetoOO/src/TFoo/Data.java @@ -0,0 +1,16 @@ +package TFoo; + +public class Data{ + + private int dia; + private int mes; + + private Data() {} + public Data(int mes, int dia) { + this.mes=mes; + this.dia=dia; + } + public int getDia() {return dia;} + public int getMes() {return mes;} + +} diff --git a/ProjetoOO/src/TFoo/Diurno.java b/ProjetoOO/src/TFoo/Diurno.java new file mode 100644 index 0000000..ad876ba --- /dev/null +++ b/ProjetoOO/src/TFoo/Diurno.java @@ -0,0 +1,17 @@ +package TFoo; + +public class Diurno extends Acesso{ + + @Override + public float calcularAcesso() { + + return 0; + } + + @Override + public float getValor() { + // TODO Auto-generated method stub + return 0; + } + +} diff --git a/ProjetoOO/src/TFoo/Duracao.java b/ProjetoOO/src/TFoo/Duracao.java new file mode 100644 index 0000000..8be4d72 --- /dev/null +++ b/ProjetoOO/src/TFoo/Duracao.java @@ -0,0 +1,84 @@ +package TFoo; +import java.time.*; +import java.time.Duration; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.Period; +import java.time.format.DateTimeFormatter; +import java.util.Scanner; +public class Duracao { + + + +/* Data dataEntrada, dataSaida; + Horario horarioEntrada , horarioSaida;*/ + + private String dataEntrada, + dataSaida, + horaEntrada, + horaSaida; + + DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("AAAA-MM-dd"); + DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm"); + private Duracao() {} + public Duracao(String dataEntrada, String horarioEntrada, String dataSaida, String horarioSaida) { + this.dataEntrada=dataEntrada; + this.dataSaida=dataSaida; + this.horaEntrada=horarioEntrada; + this.horaSaida=horarioSaida; + } + + int[] computeTime(String date){ // metodo para reduzir cada parcela da data a um inteiro + int[] data = new int[3]; + int i=0; + for(String str : date.split("/")) + data[i++]=Integer.parseInt(str); + + + return data; + + } + int[] computeHour(String horario){ // transforma a string horario em um vetor de int com as horas e os minutos + int[] horas = new int[3]; + int i=0; + for(String buffer : horario.split(":")) + horas[i++] = Integer.parseInt(buffer); + return horas; + } + + /* // Calcula a diferença entre a entrada e a saída + Duration diferenca = calcularDiferencaTempo(dataEntrada, horarioEntrada, dataSaida, horarioSaida); + + // Exibe a diferença em dias, horas e minutos + */ + + + public long calcularDiferencaTempo() { + LocalDate entradaData = LocalDate.parse(dataEntrada, dateFormatter); + LocalTime entradaHora = LocalTime.parse(horaEntrada, timeFormatter); + LocalDateTime entrada = LocalDateTime.of(entradaData, entradaHora); + + LocalDate saidaData = LocalDate.parse(dataSaida, dateFormatter); + LocalTime saidaHora = LocalTime.parse(horaSaida, timeFormatter); + LocalDateTime saida = LocalDateTime.of(saidaData, saidaHora); + + // Calcula a diferença de tempo entre entrada e saída + Duration duracao = Duration.between(entrada, saida); + Period periodo = Period.between(entradaData, saidaData); + + // Imprime a diferença de tempo + long anos = periodo.getYears(); + long meses = periodo.getMonths(); + long dias = periodo.getDays(); + long horas = duracao.toHours(); + if((horas/24) < 1) { + dias = 0; + } + horas = horas - 24*(horas/24); + long minutos = duracao.toMinutesPart(); + + long tempo= (525600*anos)+(43800*meses)+(1440*dias)+(60*horas)+ minutos; + return tempo; + } +} diff --git a/ProjetoOO/src/TFoo/Estacionamento.java b/ProjetoOO/src/TFoo/Estacionamento.java new file mode 100644 index 0000000..51568a4 --- /dev/null +++ b/ProjetoOO/src/TFoo/Estacionamento.java @@ -0,0 +1,54 @@ +package TFoo; +import java.util.*; +public class Estacionamento { + + private int comecoNoite; + private int fimNoite ; + private String NOME; + private int capacidade; + private float valorFracao, + valorHoraCheia, + valorDiaria, + valorNoturna, + acessoMensalista, + valorEvento, + valorRetorno; + private Horario horarioAbertura, + horarioFechamento; + + + + private LinkedList list = new LinkedList<>(); + + public Estacionamento(String NOME, int capacidade, int comecoNoite, int fimNoite, + float valorFracao, float valorMensalista, float valorEvento, float valorRetorno, + float valorNoturno, float valorDiaria, float valorHoraCheia, String horarioAbertura, String horarioFechamento) { + this.NOME=NOME; + this.fimNoite=fimNoite; + this.capacidade=capacidade; + this.comecoNoite=comecoNoite; + this.valorFracao=valorFracao; + this.valorDiaria=valorDiaria; + this.valorEvento=valorEvento; + this.valorNoturna=valorNoturno; + this.valorRetorno=valorRetorno; + this.valorHoraCheia=valorHoraCheia; + this.acessoMensalista=valorMensalista; + this.horarioAbertura=new Horario(horarioAbertura); + this.horarioFechamento=new Horario(horarioFechamento); + } + + public boolean isFull() {return capacidade==list.size();} + public int getValorRetorno() {return 0;}//ajustar o metodo para calcular o valor q será pago a empresa contratante + public boolean setAcesso(Acesso novo) { + if(isFull()) { + return false; + } + list.add(novo); + return true; + } + + public boolean temVaga() {return !isFull();} + + +} diff --git a/ProjetoOO/src/TFoo/Evento.java b/ProjetoOO/src/TFoo/Evento.java new file mode 100644 index 0000000..3ebdec1 --- /dev/null +++ b/ProjetoOO/src/TFoo/Evento.java @@ -0,0 +1,17 @@ +package TFoo; + +public class Evento extends Acesso{ + + @Override + public float calcularAcesso() { + // TODO Auto-generated method stub + return 0; + } + + @Override + public float getValor() { + // TODO Auto-generated method stub + return 0; + } + +} diff --git a/ProjetoOO/src/TFoo/Fracao.java b/ProjetoOO/src/TFoo/Fracao.java new file mode 100644 index 0000000..4f79cd7 --- /dev/null +++ b/ProjetoOO/src/TFoo/Fracao.java @@ -0,0 +1,17 @@ +package TFoo; + +public class Fracao extends Acesso{ + + @Override + public float calcularAcesso() { + // TODO Auto-generated method stub + return 0; + } + + @Override + public float getValor() { + // TODO Auto-generated method stub + return 0; + } + +} diff --git a/ProjetoOO/src/TFoo/HoraCheia.java b/ProjetoOO/src/TFoo/HoraCheia.java new file mode 100644 index 0000000..06881cc --- /dev/null +++ b/ProjetoOO/src/TFoo/HoraCheia.java @@ -0,0 +1,17 @@ +package TFoo; + +public class HoraCheia extends Acesso { + + @Override + public float calcularAcesso() { + // TODO Auto-generated method stub + return 0; + } + + @Override + public float getValor() { + // TODO Auto-generated method stub + return 0; + } + +} diff --git a/ProjetoOO/src/TFoo/Horario.java b/ProjetoOO/src/TFoo/Horario.java new file mode 100644 index 0000000..bd8b530 --- /dev/null +++ b/ProjetoOO/src/TFoo/Horario.java @@ -0,0 +1,17 @@ +package TFoo; + +public class Horario { + + private int hora, + minuto; + public Horario(String tempo) { + String[] parte= tempo.split(":"); + this.hora= Integer.parseInt(parte[0]); + this.minuto=Integer.parseInt(parte[1]); + } + + + + public int getHora() {return hora;} + public int getMinuto() {return minuto;} +} diff --git a/ProjetoOO/src/TFoo/Mensalista.java b/ProjetoOO/src/TFoo/Mensalista.java new file mode 100644 index 0000000..b72b1ea --- /dev/null +++ b/ProjetoOO/src/TFoo/Mensalista.java @@ -0,0 +1,17 @@ +package TFoo; + +public class Mensalista extends Acesso { + + @Override + public float calcularAcesso() { + + return 0; + } + + @Override + public float getValor() { + // TODO Auto-generated method stub + return 0; + } + +} diff --git a/ProjetoOO/src/TFoo/Noturno.java b/ProjetoOO/src/TFoo/Noturno.java new file mode 100644 index 0000000..f218a18 --- /dev/null +++ b/ProjetoOO/src/TFoo/Noturno.java @@ -0,0 +1,17 @@ +package TFoo; + +public class Noturno extends Acesso { + + @Override + public float calcularAcesso() { + // TODO Auto-generated method stub + return 0; + } + + @Override + public float getValor() { + // TODO Auto-generated method stub + return 0; + } + +} diff --git a/ProjetoOO/src/TFoo/Principal.java b/ProjetoOO/src/TFoo/Principal.java new file mode 100644 index 0000000..c860e44 --- /dev/null +++ b/ProjetoOO/src/TFoo/Principal.java @@ -0,0 +1,80 @@ +package TFoo; + +import javax.swing.*; +import java.util.Scanner; +public class Principal { + + public static void main(String[] args) { + + final long começoNoite = 20; + final long fimNoite = 06; + + long minutos = 2881; + long hin=21; + long hout=05; + boolean mensalista = true; + + if(mensalista == true) { + System.out.println("Acesso Mensalista"); + }else if(hin >= começoNoite && hout < fimNoite && minutos/60.0 <= 24 - começoNoite + fimNoite) { + System.out.println("Acesso do tipo noturno"); + }else if(minutos/15 < 4) { + System.out.println("Acesso do tipo Fração:" + minutos+"minutos"); + }else if(minutos/15 < 36) { + System.out.println("Acesso do tipo Hora cheira:"+ minutos/60+"horas cheias"); + }else { + if(minutos/1440 < 1) { + System.out.println("Acesso do tipo Diurno: uma diaria apenas"); + }else if(minutos%1440==0) { + System.out.println("Acesso do tipo Diurno:"+minutos/1440+"diárias"); + }else { + System.out.println("Acesso do tipo Diurno: "+((minutos/1440)+1) +"Diárias"); + } + + } + + + /*Scanner scanner = new Scanner(System.in); + + // Solicita a quantidade de minutos ao usuário + System.out.print("Digite a quantidade de minutos: "); + int minutos = scanner.nextInt(); + + // Calcula o número de horas cheias e frações de 15 minutos + int horasCheia = minutos / 60; + int fracao = (minutos % 60) / 15; + int diurno = (minutos/60)/9; + // Imprime o resultado + /*if (horasCheia > 0) { + System.out.println("H".repeat(horasCheia)); // Horas cheias + }*/ + /* + if (fracao> 0) { + System.out.println("F".repeat(fracao)); // Frações de 15 minutos + } + if(diurno>0) { + System.out.println("D".repeat(diurno)); + }else if(horasCheia>0){ + System.out.println("H".repeat(horasCheia)); + } + scanner.close(); + */ + + + + + /*String din="2023-12-31"; + String hin="23:50"; + String dout="2024-01-01"; + String hout="00:50"; + + Duracao carai=new Duracao( din, hin, dout, hout); + + long tempo= carai.calcularDiferencaTempo(); + JOptionPane.showMessageDialog(null, tempo);*/ + + + + } + +}