1
resposta

[Sugestão] eu fiz um pouco diferente

import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;

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

        System.out.println("Digite um horario de entrada (HORAS:MINUTOS): ");
        LocalTime timeInput = LocalTime.parse(input.next(), formatter);

        System.out.println("Digite a carga horaria diaria (Horas): ");
        int carga = input.nextInt();

        System.out.println("Digite o horario de saido(Horas:minutos): ");
        LocalTime timeExit = LocalTime.parse(input.next(), formatter);

        LocalTime time = timeInput.plusHours(carga);
        Duration duration = Duration.between(time, timeExit);

        System.out.println("Horário de entrada: "+timeInput);
        System.out.println("Horário de saída previsto: "+time);
        System.out.println("Horário real de saída: "+timeExit);

        if (time.isBefore(timeExit)){
            System.out.println("Saldo de horas: +"+duration.toHours()+"h "+duration.toMinutesPart()+"min");

        }else if(time.equals(timeExit)){
            System.out.println("Saldo de horas: "+duration.toHours()+"h "+duration.toMinutesPart()+"min");

        }else if(time.isAfter(timeExit)){
            System.out.println("Saldo de horas: "+duration.toHours()+"h "+duration.toMinutesPart()+"min");
        }
    }
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oi, William! Como vai?

Agradeço por compartilhar.

Gostei da sua solução para o Controle de expediente, ficou bem estruturada e faz bom uso das classes LocalTime e Duration. A forma como você tratou os diferentes cenários de saída mostra atenção aos detalhes do cálculo de horas.

Continue explorando esses recursos, pois manipular datas e horários é algo muito usado em aplicações reais.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!