Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Resolução com explicações para novatos

Pessoal,se você está com dúvida sobre como funcionou essa validação, insira a bolinha vermelha nas linhas que você digitou e rode o programa pelo modo debug, dessa forma você conseguirá ver a variável maior alterando seu valor, e conseguirá entender o que aconteceu, exemplo:
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

import java.util.Scanner;

public class EncontreMaiorNumero {
    static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("Digite os numeros separados por espaço: ");

        String[] numeros = scanner.nextLine().split(" ");
        /* aqui ele coloca os numeros que vc digitou dentro de uma array e separa eles pelo espaço que
        * você digitou, mas vc tem que digitar para ele separar*/


        int maior = Integer.MIN_VALUE;
        /* Aqui foi criado uma variavel chamada maior e ele está iniciando com o menor valor no Java*/





        for (String numSr : numeros) {
            int num = Integer.parseInt(numSr);
            if (num > maior) {
                maior = num;
            }


        }
        System.out.println("maior numero é " + maior);
    }

}

1 resposta

Olá, Guilherme. Como vai?

Excelente iniciativa! A sua dica sobre utilizar o modo debug (depuração) inserindo a "bolinha vermelha" (o famoso breakpoint) é uma das orientações mais valiosas para quem está começando na programação. Ver as variáveis mudando de valor passo a passo na tela clareia a mente de qualquer estudante.

O seu código está muito bem estruturado e a lógica para encontrar o maior número usando Integer.MIN_VALUE como ponto de partida está corretíssima.

Como o seu post tem o excelente objetivo de explicar a resolução para novatos, vale a pena destacar um pequeno detalhe técnico no código que você postou para garantir que o programa dos alunos rode perfeitamente quando eles copiarem e testarem. No Java, o método principal (main) precisa obrigatoriamente do modificador public para que a máquina virtual consiga iniciar a execução.

Atualmente, o seu método está assim:

static void main(String[] args)

O ideal é ajustá-lo para a assinatura padrão do Java:

public static void main(String[] args)

Para complementar a sua explicação didática e ajudar ainda mais os iniciantes que estão lendo o seu tópico, podemos detalhar o porquê da escolha do Integer.MIN_VALUE. Muitas pessoas começam a variável maior valendo 0, mas se o usuário digitar apenas números negativos (como -5, -10, -2), o programa diria incorretamente que o maior é 0. Iniciando com o menor valor possível do Java, qualquer número digitado será maior que ele na primeira comparação.

Parabéns pelo espírito colaborativo no fórum! Compartilhar o conhecimento e ensinar a usar as ferramentas de diagnóstico como o debugger faz toda a diferença na comunidade.

Espero que possa ter lhe ajudado!