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 do Desafio

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        int numeroDigitado;

        System.out.print("Digite um número: ");
        numeroDigitado = scanner.nextInt();

        for (int i = 1; i <= numeroDigitado; i++) {

            int resto = i % 10;

            if (resto != 5){
                System.out.print(i + " ");
            }
        }
        scanner.close();
    }
}


1 resposta

Oi, Pablo. Tudo bem com você?

Obrigado por compartilhar sua resolução do desafio. Seu código atende ao objetivo da atividade ao exibir os números de 1 até o valor informado pelo usuário e ignorar corretamente aqueles que terminam em 5. O uso do operador de módulo (%) para obter o resto da divisão por 10 foi aplicado de forma adequada, seguindo exatamente a lógica proposta no enunciado. Além disso, a estrutura do laço for está correta para percorrer todos os valores do intervalo desejado, e o fechamento do Scanner ao final do programa também é uma boa prática.

Uma pequena observação é que a variável resto poderia ser utilizada diretamente na condição, como if (i % 10 != 5), caso você preferisse reduzir uma linha de código. No entanto, a forma como você escreveu também é válida e pode até favorecer a leitura, especialmente para quem está aprendendo o conceito de resto da divisão.

Pensando em uma evolução desse exercício, como você adaptaria essa lógica para ignorar números que terminem em mais de um dígito específico, como 3 e 5 ao mesmo tempo?

Parabéns pela resolução e por compartilhar seu código no fórum. Continue praticando e trazendo suas soluções. O fórum está à disposição.

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