Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
  • 2 commits
  • 3 files changed
  • 0 comments
  • 1 contributor
4 src/quagliato/prog2/lista01/Main.java
@@ -8,6 +8,7 @@
8 8 import java.util.logging.Level;
9 9 import java.util.logging.Logger;
10 10 import quagliato.prog2.exceptions.StringException;
  11 +import quagliato.prog2.lista01.exe01.ExTesteHorario;
11 12 import quagliato.prog2.lista01.exe03.ExTestadorDeCaixa;
12 13 import quagliato.prog2.lista01.exe07.ExTesteCarro;
13 14 import quagliato.prog2.util.StringUtils;
@@ -29,6 +30,9 @@ public static void main(String args[]) {
29 30 case 0:
30 31 exit = true;
31 32 break;
  33 + case 1:
  34 + (new ExTesteHorario()).execute();
  35 + break;
32 36 case 3:
33 37 (new ExTestadorDeCaixa()).execute();
34 38 break;
78 src/quagliato/prog2/lista01/exe01/ExTesteHorario.java
... ... @@ -0,0 +1,78 @@
  1 +package quagliato.prog2.lista01.exe01;
  2 +
  3 +import java.util.Scanner;
  4 +import quagliato.prog2.interfaces.Exercicio;
  5 +
  6 +/**
  7 + *
  8 + * @author eduardo
  9 + */
  10 +public class ExTesteHorario implements Exercicio {
  11 +
  12 + @Override
  13 + public void execute() {
  14 +
  15 + Horario hora1 = new Horario();
  16 + Horario hora2 = new Horario();
  17 +
  18 + Scanner s = new Scanner(System.in);
  19 +
  20 + boolean valido;
  21 +
  22 +
  23 + // INICIO - Entrada dos valores
  24 + valido = false;
  25 + while (!valido) {
  26 + System.out.print("Horario 1, hora....: ");
  27 + valido = hora1.setHora(s.nextInt());
  28 + }
  29 +
  30 + valido = false;
  31 + while (!valido) {
  32 + System.out.print("Horario 1, minuto..: ");
  33 + valido = hora1.setMin(s.nextInt());
  34 + }
  35 +
  36 + valido = false;
  37 + while (!valido) {
  38 + System.out.print("Horario 2, hora....: ");
  39 + valido = hora2.setHora(s.nextInt());
  40 + if (hora2.getHora() < hora1.getHora()) valido = false;
  41 +
  42 + }
  43 +
  44 + valido = false;
  45 + while (!valido) {
  46 + System.out.print("Horario 2, minuto..: ");
  47 + valido = hora2.setMin(s.nextInt());
  48 + if ((hora2.getHora() == hora1.getHora()) && (hora2.getMin() > hora1.getMin())) valido = false;
  49 + }
  50 + // FIM - Entrada dos valores
  51 +
  52 + int difHora, difMin, difTotal;
  53 +
  54 + difHora = hora2.getHora() - hora1.getHora(); // calcula a diferenca nas horas
  55 +
  56 + if (hora2.getHora() == hora1.getHora())
  57 + difMin = hora2.getMin() - hora1.getMin(); // se a hora for a mesma, a diferença dos minutos e simples
  58 + else {
  59 + difMin = (60 - hora1.getMin()) + hora2.getMin(); // senao deve ser calculo os minutos acima da hora final
  60 + // e acima da hora inicial, e depois verificado se tem
  61 + // hora extra
  62 + if (difMin > 60) difMin -= 60;
  63 + else difHora--;
  64 + }
  65 +
  66 + difTotal = (difHora * 60) + difMin; // converte tudo para minutos
  67 +
  68 + double valor = 0;
  69 +
  70 + if (difTotal < 180) valor = 4.50; // se menos de 3 horas, 4.50
  71 + else if (difTotal >= 180 && difTotal <= 720) valor = (4.50 + (((difTotal - 180)/15)*0.75)); // se entre 3h e 12h, 0.75/15min
  72 + // acima de 3h
  73 + else if (difTotal > 720) valor = 33; // se maior que 12h, 33.00
  74 +
  75 + System.out.println("Valor final: R$ " + valor);
  76 +
  77 + }
  78 +}
35 src/quagliato/prog2/lista01/exe01/Horario.java
... ... @@ -0,0 +1,35 @@
  1 +package quagliato.prog2.lista01.exe01;
  2 +
  3 +/**
  4 + *
  5 + * @author eduardo
  6 + */
  7 +public class Horario {
  8 +
  9 + private int hora;
  10 + private int min;
  11 +
  12 + public int getHora() {
  13 + return hora;
  14 + }
  15 +
  16 + public int getMin() {
  17 + return min;
  18 + }
  19 +
  20 + public boolean setHora(int hora) {
  21 + if (hora >= 0 && hora <= 23) {
  22 + this.hora = hora;
  23 + return true;
  24 + }
  25 + return false;
  26 + }
  27 +
  28 + public boolean setMin(int min) {
  29 + if (min >= 0 && min <= 59) {
  30 + this.min = min;
  31 + return true;
  32 + }
  33 + return false;
  34 + }
  35 +}

No commit comments for this range

Something went wrong with that request. Please try again.