Oi, João! Como vai?
Agradeço por compartilhar.
Gostei bastante de como você utilizou LocalTime, Duration e o DateTimeFormatter para organizar os horários. A forma como você calculou o saldo com between e depois ajustou com minus e abs ficou bem clara e funcional.
Uma dica interessante para o futuro é utilizar o método isAfter ou isBefore pra validar cenários, como quando o horário de saída é menor que o de entrada.
LocalTime entrada = LocalTime.of(9, 0);
LocalTime saida = LocalTime.of(8, 0);
if (saida.isBefore(entrada)) {
System.out.println("Horario de saida invalido");
}
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!