Advertisement
LightProgrammer000

Estacionamento

Jul 16th, 2024
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.58 KB | None | 0 0
  1. package Aula;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class EX22
  6. {
  7.     public static void main(String[] args)
  8.     {
  9.         double extra = 0, val = 10;
  10.         int temp, hora, minuto;                
  11.         int entrada[] = new int[2];
  12.         int saida[]   = new int[2];
  13.  
  14.         // Chamada de funcao para atribuição em vetores
  15.         try (Scanner ent = new Scanner(System.in))
  16.         {
  17.             // Chamada de funcao para atribuição em vetores
  18.             entrada = entradaEstacionamento(entrada, ent);
  19.             saida = saidaEstacionamento(saida, ent);
  20.         }
  21.  
  22.         // Cálculos de tempo
  23.         temp = (saida[0] * 60 + saida[1]) - (entrada[0] * 60 + entrada[1]);        
  24.        
  25.         if (temp < 0)
  26.         {
  27.             System.out.println("# Dados invalidos.");
  28.             return;
  29.         }
  30.  
  31.         hora = temp / 60;
  32.         minuto = temp % 60;
  33.  
  34.         if (hora > 1)
  35.         {
  36.             extra = 2.50 * (hora - 1);
  37.         }
  38.  
  39.         System.out.println("# Hora: " + hora + "\n# Minuto: " + minuto);
  40.         System.out.printf("# Valor a pagar: %.2f \n", val * hora + extra);
  41.     }
  42.    
  43.     private static int [] entradaEstacionamento(int entrada[], Scanner ent)
  44.     {
  45.         System.out.println("# Entrada");
  46.        
  47.         System.out.print("# Hora: ");
  48.         entrada[0]= validador(ent, 0, 23);
  49.        
  50.         System.out.print("# Minutos: ");
  51.         entrada[1]= validador(ent, 0, 59);
  52.         System.out.println("");
  53.        
  54.         return entrada;          
  55.     }
  56.    
  57.     private static int [] saidaEstacionamento(int saida[], Scanner ent)
  58.     {
  59.         System.out.println("# Saida");
  60.        
  61.         System.out.print("# Hora: ");
  62.         saida[0]= validador(ent, 0, 23);
  63.        
  64.         System.out.print("# Minutos: ");
  65.         saida[1]= validador(ent, 0, 59);
  66.         System.out.println("");
  67.  
  68.         return saida;    
  69.     }
  70.    
  71.     private static int validador(Scanner ent, int min, int max)
  72.     {
  73.         int aux = 0;
  74.  
  75.         try
  76.         {
  77.             aux = ent.nextInt();
  78.         }
  79.        
  80.         catch (Exception e)
  81.         {
  82.             ent.nextLine();
  83.             aux = -1;
  84.         }
  85.  
  86.         while (aux < min || aux > max)
  87.         {
  88.             try
  89.             {
  90.                 System.out.printf("* Digite novamente valores entre [%d - %d]: ", min, max);
  91.                 aux = ent.nextInt();
  92.             }
  93.            
  94.             catch (Exception e)
  95.             {
  96.                 ent.nextLine();
  97.                 aux = -1;
  98.             }
  99.         }
  100.  
  101.         return aux;
  102.     }
  103. }
  104.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement