Olá, Pablo. Tudo bem com você?
Obrigado por compartilhar sua resolução do desafio. A proposta foi atendida e o uso do do while combinado com a palavra de encerramento "fim" permite que a entrada seja repetida até o momento desejado pelo usuário. Além disso, utilizar listas para armazenar os números positivos e negativos também funciona e possibilita aproveitar esses valores posteriormente, caso fosse necessário realizar outros tipos de processamento.
Há apenas um detalhe que merece atenção. A verificação entrada.contains("-") identifica qualquer texto que contenha o caractere -, não necessariamente um número negativo. Uma abordagem mais confiável seria converter a entrada para double e comparar seu valor, por exemplo, numero < 0 para negativos e numero > 0 para positivos. Dessa forma, valores como -3.5 continuam sendo classificados corretamente, enquanto a lógica fica baseada no valor numérico e não na presença de um caractere. Como o exercício solicita apenas a contagem, outra possibilidade seria utilizar dois contadores em vez de listas, reduzindo o consumo de memória.
Como você adaptaria essa solução para também informar quantos valores iguais a zero foram digitados?
Parabéns pela dedicação e por compartilhar sua solução. Continue praticando e conte com o fórum sempre que precisar.
Para saber mais:
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!