Olá, Weid! Como vai?
Parabéns pela resolução da atividade!
Observei que você explorou o uso de laços de repetição para controlar a entrada contínua de dados, utilizou muito bem o tratamento de exceções para evitar erros de execução e ainda compreendeu a importância da lógica condicional para classificar os números em positivos e negativos.
Uma dica interessante para o futuro é declarar a lista fora do loop e apenas adicionar os números dentro dele, evitando recriar a lista a cada iteração. Assim:
List<Integer> numeros = new ArrayList<>();
while (true) {
System.out.println("Digite um número ou 'fim' para encerrar ");
String entrada = sc.nextLine();
if (entrada.equalsIgnoreCase("fim")) {
break;
}
try {
int numero = Integer.parseInt(entrada);
numeros.add(numero);
if (numero > 0) {
numeroPositivo++;
} else if (numero < 0) {
numeroNegativo++;
}
} catch (NumberFormatException e) {
System.out.println("Entrada inválida, digite apenas números inteiros.");
}
}
Isso faz com que o programa seja mais eficiente e mantenha todos os números registrados para uso futuro, se necessário.
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!