Olá, Bernardo! Como vai?
Agradeço por compartilhar
Seu exercício ficou bem organizado: você usou LocalTime, DateTimeFormatter e Duration de forma adequada para calcular o tempo entre entrada e saída. Um ponto que chamou atenção foi o uso de Duration.between(entrada, saida).toMinutes(), que deixa o cálculo do saldo bem direto.
Uma dica interessante para o futuro é usar Math.abs() pra evitar repetir parte do cálculo quando o saldo pode ser positivo ou negativo.
int diferenca = totalMinutos - cargaMinutos;
int saldo = Math.abs(diferenca);
String sinal = diferenca >= 0 ? "+" : "-";
System.out.println("Saldo de horas: " + sinal + saldo / 60 + "h " + saldo % 60 + "min");
Esse código calcula a diferença uma única vez, usa Math.abs() pra obter o valor positivo do saldo e define o sinal com base no resultado. Ótima construção no exercício, continue praticando.
Na sua visão, isolar a transformação e validação cronológica dos horários em verificações iniciais ajuda a manter a rotina de cálculos do seu projeto focada em uma única responsabilidade de forma mais organizada?
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!