1
resposta

[Sugestão] Minha conclusão do Exercício

Embora o campo "Opinião do instrutor" nos entrega a solução, decidi fazer da minha forma:

public class TesteGeral {
    public static void main(String[] args) {
        Scanner leitura = new Scanner(System.in);
        DateTimeFormatter formato = DateTimeFormatter.ofPattern("HH:mm");

        System.out.println("Digite o horário de entrada (HH:mm): ");
        LocalTime entrada = LocalTime.parse(leitura.next(), formato);

        System.out.println("Digite a carga horária (em horas): ");
        int cargaHoraria = leitura.nextInt();
        
        System.out.println("Digite o horário de sáida (HH:mm): ");
        LocalTime saida = LocalTime.parse(leitura.next(), formato);

        Duration cargaHorariaReal = Duration.between(entrada, saida);

        LocalTime horarioEntradaPrevisto = LocalTime.of(8, 0);
        LocalTime horarioSaidaPrevisto = entrada.plusHours(cargaHoraria);
        Duration diaria = Duration.between(horarioEntradaPrevisto, horarioSaidaPrevisto);


        System.out.println("Horário de entrada previsto: " + horarioEntradaPrevisto.format(formato));
        System.out.println("Carga horária prevista: "+ diaria.toHours());
        System.out.println("Horário de saída previsto: " + horarioSaidaPrevisto.format(formato) +
                "\n########################################################");

        Duration bancoDeHoras = cargaHorariaReal.minus(diaria);
        System.out.println("Hora de entrada registrada: " + entrada.format(formato));
        System.out.println("Horas trabalhadas no dia: " + cargaHorariaReal.toHours());
        System.out.println("Hora de saída registrada: " +saida.format(formato));
        System.out.println("Saldo de banco de horas: " + bancoDeHoras.toHours() + "h" + bancoDeHoras.toMinutesPart() + "min");





    }
}

A única coisa que não consegui solucionar da minha forma, foi a amostragem do banco de horas que acaba colocando o sinal - tanto na horas, quanto nos minutos. Acredito que essa parte o Front-end consiga tratar. =P

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Parabens pelo trabalho colega!