1
resposta

[Projeto] Projeto

public class Class {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

int positivos = 0;
int negativos = 0;



  while(true) {
    System.out.println("Digite um número (ou 'fim' para encerrar): ");
    String input = scanner.nextLine();
    if(input.equals("fim") {
      System.out.print("Saindo do programa. ");
      break;
      
      try {
        int numero = Integer.parseInt(input);
        if(numero > 0) {
           positivos++;
        } else if {
           negativos++
        }
      } catch (NumberFormatException e) {
            System.out.println("Entrada inválida. Digite um número ou 'fim' para encerrar.");
        }
    }

    System.out.println("Números positivos: " + positivos);
    System.out.println("Números negativos: " + negativos);

    scanner.close();

}

1 resposta

Oi, Everson! Como vai?

Seu código mostra um bom caminho para lidar com entradas dinâmicas e contagem de números positivos e negativos. O uso do Scanner e do while(true) foi bem colocado, mas alguns ajustes de sintaxe são necessários para que funcione corretamente.

Uma dica interessante para o futuro é validar se o número digitado é realmente inteiro antes de tentar converter. Veja este exemplo:


Scanner scanner = new Scanner(System.in);
String entrada = scanner.nextLine();

try {
    int numero = Integer.parseInt(entrada);
    System.out.println("Numero digitado: " + numero);
} catch (NumberFormatException e) {
    System.out.println("Entrada invalida");
}

Esse trecho tenta converter o valor e, se falhar, exibe uma mensagem de erro. Assim evitamos que o programa quebre.

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