1
resposta

[Projeto] Fiz de uma forma diferente:

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

public class Principal {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm");

        System.out.print("Digite o horário de entrada (HH:mm): ");
        LocalTime entrada = LocalTime.parse(scanner.next(), formatter);

        System.out.print("Digite a carga horária diária (em horas): ");
        int cargaHoraria = scanner.nextInt();

        System.out.print("Digite o horário real de saída (HH:mm): ");
        LocalTime saida = LocalTime.parse(scanner.next(), formatter);

        scanner.close();

        LocalTime saidaPrevista = entrada.plusHours(cargaHoraria);
        String saidaPreviFormatado = saidaPrevista.format(formatter);

        Duration duracao = Duration.between(entrada, saida);
        
        System.out.println("Horário de entrada: " + entrada);
        System.out.println("Horário de saída previsto: " + saidaPreviFormatado);
        System.out.println("Horário real de saída: " + saida);
        System.out.println("Saldo de horas: " + (duracao.toHours() - cargaHoraria) + "h " + duracao.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, Murilo! Como vai?

Agradeço por compartilhar.

Gostei da sua solução, ficou bem estruturada e mostra domínio sobre o uso das classes LocalTime, Duration e DateTimeFormatter. Você trouxe uma abordagem clara para calcular a diferença entre os horários e ainda formatou a saída, ótimo trabalho.

Continue explorando variações de implementação, isso ajuda a fortalecer o raciocínio lógico e a compreensão da API de datas do Java.

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